0
私は実装されたメソッドでComparable
を実装するカスタムクラスを持っています。私のコード:Androidで2種類の並べ替えを追加するにはどうすればよいですか?
@Override
public int compareTo(Car car) {
String tmp = price.replace(" €", "").replaceAll(" ", "");
String tmp2 = car.price.replace(" €", "").replaceAll(" ", "");
Integer p1 = Integer.valueOf(tmp);
Integer p2 = Integer.valueOf(tmp2);
return p1.compareTo(p2);
}
その後、私はCollections.sort(carList);
を呼び出して、私のアダプタに通知します。今、降順でp2.compareTo(p)
を返す同様のメソッドを実装したいと思いますが、成功しませんでした。
ご協力いただきありがとうございます!
「return p2.compareTo(p1)」と同じですが、 – m0skit0
しかし、どこでこのメソッドを記述しますか?そして、Coolections.sort(list)を呼び出すときに、最初のメソッドではなく2番目のメソッドを使用するように指示するにはどうすれば使用できますか?私のCarクラスでメソッドを2回オーバーライドすることはできません。 – Jay
あなたのクラスで 'Comparable'を使うには、2つの' Comparators'を書いて、あなたがしたいソートに応じて 'Collections.sort(Collection、Comparator)'に渡すべきです。また、あなたが今やっているようにそれを行うことができますし、必要に応じて並べ替えられたリストを逆にすることもできます。 – m0skit0