title: When to use Comparable and Comparator
body: <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>