-2

こんにちは、私はこれに非常に慣れていないので、数日間考えた後、これを理解する方法がわかりません.ArrayList内のオブジェクトのソートに関して質問があります. オブジェクトを含む単一の ArrayList があります。各オブジェクトには 2 つの「距離」があります。最小距離に基づいて ArrayList 内のオブジェクトを並べ替えたいと思います。

私はソートが苦手なので、しばらくこれに苦労していました:(誰かが私を助けてくれれば幸いです。説明する方法がわかりません。

4

2 に答える 2

1

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;
        }
    }
});
于 2013-06-13T00:51:26.140 に答える