When to use Comparable and Comparator
<p>I have a list of objects I need to sort on a field, say Score. Without giving much thought I wrote a new class that implements Comparator, that does the task and it works. </p>

<p>Now looking back at this, I am wondering if I should have instead have the my class implement Comparable instead of creating a new class that implements Comparator. The score is the only field that the objects will be ordered on. </p>

<ol>
<li><p>What I have done acceptable as a practice? </p></li>
<li><p>Is the right approach "First have the class implement Comparable (for the natural ordering) and if an alternative field comparison is required, then create a new class that implements Comparator" ?</p></li>
<li><p>If (2) above is true, then does it mean that one should implement Comparator only after they have the class implement Comparable? (Assuming I own the original class).</p></li>
</ol>

<p>Thanks!</p>
