アリレザありません時間:
このようにCollections.sort(オブジェクト)を使用して、int型の値を比較することが可能です。
Collections.sort(priceList, new Comparator<MyObject>() {
@Override
public int compare(MyObject o1, MyObject o2) {
return Integer.parseInt(o1.getPrice()) - Integer.parseInt(o2.getPrice());
}
});
そしてLong.compare
Collections.sort(オブジェクト)を使用して、long値を比較するAPI 19以降で利用可能です:
Collections.sort(priceList, new Comparator<MyObject>() {
@Override
public int compare(MyObject o1, MyObject o2) {
return Long.compare(o2.getPrice(), o1.getPrice());
}
});
しかし、minSdkVersion
私のアプリのです16
、私の価格の値は、int型の範囲の最大値よりも大きいです!
どのようにソート私によって私のオブジェクトの一覧表示することができlong
、APIレベル16以降で財産?
何ベラ:
の定義を見てくださいLong#compare
:
public static int compare(long x, long y) {
return (x < y) ? -1 : ((x == y) ? 0 : 1);
}
Similary、あなただけで缶return 1
他の値よりも値が大きい場合、0
等しい場合と-1
未満の場合:
Collections.sort(priceList, new Comparator<MyObject>() {
@Override
public int compare(MyObject o1, MyObject o2) {
return (o1.getPrice() < o2.getPrice()) ? -1 : ((o1.getPrice() == o2.getPrice()) ? 0 :1 );
});