こんにちは、私はこれに非常に慣れていないので、数日間考えた後、これを理解する方法がわかりません.ArrayList内のオブジェクトのソートに関して質問があります. オブジェクトを含む単一の ArrayList があります。各オブジェクトには 2 つの「距離」があります。最小距離に基づいて ArrayList 内のオブジェクトを並べ替えたいと思います。
私はソートが苦手なので、しばらくこれに苦労していました:(誰かが私を助けてくれれば幸いです。説明する方法がわかりません。
distance
まず、所有しているクラスのプロパティにアクセサーを提供することをお勧めします。
distance
次に、オブジェクトのフィールドに基づいてリストをソートするために、インターフェースの匿名実装を使用できます。Comparator
List<MyObject> list = ...;
Collections.sort(list, new Comparator<MyObject>() {
public int compare(MyObject o1, MyObject o2) {
if (o1.getDistance() == o2.getDistance()) {
return 0;
} else {
return o1.getDistance() > o2.getDistance() ? 1 : -1;
}
}
});