Have you tried implementing Comparator instead of Comparable? Your code looks more like a Comparator because it has the two-argument compare and nothing in the one-argument compare. You can pass a Comparator to the constructor of a sorted collection like TreeSet and then just add your objects one at a time or addAll with the list you have here.
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Notice the compareTo() "stub" that takes only one argument. If you are using the Comparable interface, you need to fill in this method with code similar to what you have written. As Stan said, you need to implement Comparator instead in order to use the compareTo() method with two parameters. Also note that you will need to pass the Comparator to the Collections constructor in order to sort it properly.