Comparator.compareTo(o1, o2)
メソッドのドキュメントによると
順序について 2 つの引数を比較します。最初の引数が 2 番目の引数より小さい、等しい、または大きい場合、負の整数、ゼロ、または正の整数を返します。
したがって、自然順序付けから小さいものから大きいものへと並べ替えたい場合は、ドキュメントで定義されているように実装を記述する必要があります。
public int compareTo(Integer o1, Integer o2) {
int v1 = (o1);
int v2 = (o2);
if(v1 == v2) {
return 0;
}
if(v1 < v2) {
return -1; //return negative integer if first argument is less than second
}
return 1;
}
並べ替えを逆順にしたい場合は、大から小へ
public int compareTo(Integer o1, Integer o2) {
int v1 = (o1);
int v2 = (o2);
if(v1 == v2) {
return 0;
}
if(v1 < v2) {
return 1; //do the other way
}
return -1;
}