javacomparatormnemonics

Does anyone have a useful mnemonic for implementing Comparator?


Every time I need to implement a comparator, I get stuck trying to remember when I should return -1 and when 1, and I have to look it up.

I mean, obviously -1 is less, so it implies that first is less than second. But whenever I say that to myself, I get that nagging "are you sure?" feeling. I suspect part of my confusion comes from implementing it the other way around whenever I need a descending sort.

What do you use to remember which is which?


Solution

  • comparator.compare(a, b) < 0 <==> a < b