My class implements Comparator<ClassName>
。Collections.sortを使用してJava 8でArrayListをソート
私の要件は、rNumber
というダブルタイプフィールドの降順でArrayList<Hw4b> myList;
をソートすることです。 比較方法が一般的な契約に違反しています。私は常にスレッド「メイン」java.lang.IllegalArgumentExceptionがで
例外を取得
Collections.sort(myList,this);
を起動しています! java.util.TimSort.mergeHi(TimSort.java:899)
ここは私のコードです。
@Override
public int compare(Hw4b o1, Hw4b o2) {
double r1 = o1.rNumber;
double r2 = o2.rNumber;
if(r2 > r1)
return 1;
else if(r2 < r1)
return -1;
else
return 0;
}
if条件を変更しようとしましたが、全く並べ替えません。何か助けていただければ幸いです。私はJava 8を使用しています。
この機能を間違った方法で使用することができます。 –