Why do we really need Comparator in Java? : <p>My questions is basically divided into two sub-questions:</p>

<ol>
<li><p>Comparable talks about natural ordering. Who is stopping us from implementing a non-natural ordering login in the compareTo method ?</p></li>
<li><p>Comparator can do the same stuff as Comparable (ASC or DESC sort). So the only reason it exists is because that if we have a third party class which we cannot change (make it implement Comparable) then we can externalise the sorting logic using Comparator. Is this correct ?</p></li>
</ol>
