Use Comparable:
========================
If the object is in your control.
If the comparing behaviour is the main comparing behaviour.
When logic is clear natural way to sort the class .No change in future.
Use Comparator:
=======================
If the object is outside your control and you cannot make them implement Comparable.
When you want comparing behaviour different from the default (which is specified by Comparable) behaviour.
When sorting only makes sense for a specific use case
On this page of the site you can watch the video online Java Interview Question #6: When to use comparator and comparable in java with a duration of hours minute second in good quality, which was uploaded by the user JavaRadio 31 July 2016, share the link with friends and acquaintances, this video has already been watched 250 times on youtube and it was liked by 1 viewers. Enjoy your viewing!