I want to implement Comparable for one of my class.
My test-Array: A1, A2, A3, B1, B2, B3
I want so sort like this:
-sorting by letter
-if A then ascending number
-if B then descending number
Outcome expected: A1, A2, A3, B3, B2, B1
The following code would always give me letter and numbers ascending, like A1, A2, A3, B1, B2, B3.
How can I switch the order of numbers based on which letter Foo has?
class Foo implements Comparable {
String letter, int number;
int compareTo(Foo f) {
int x = letter.compareTo(f.letter);
return x != 0 ? x : number.compareTo(f.number);
}
}
You could do something like this:
(That’s assuming you want to treat all non-A values as descending, of course…)