重複の可能性:
オブジェクトのコレクションの
並べ替え 名前に基づいて連絡先の ArrayList を並べ替えていますか?
簡単な質問:
私はオブジェクトでArrayList<MyObject>
いっぱいです。MyObject
の整数変数に基づいて並べ替えたいと思いますMyObject
。
これを実装する準備ができている方法はありますか、または自分でクイックソート/マージソートを作成する必要がありますか?
時間をありがとう、ディミトリス
重複の可能性:
オブジェクトのコレクションの
並べ替え 名前に基づいて連絡先の ArrayList を並べ替えていますか?
簡単な質問:
私はオブジェクトでArrayList<MyObject>
いっぱいです。MyObject
の整数変数に基づいて並べ替えたいと思いますMyObject
。
これを実装する準備ができている方法はありますか、または自分でクイックソート/マージソートを作成する必要がありますか?
時間をありがとう、ディミトリス
Comparableインターフェースを実装し、compareToをオーバーライドする必要があります。次の例では、オブジェクトを比較するメンバー変数「name」があると想定しています。
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
class MyObject implements Comparable<MyObject>{
private String name;
private int id;
public String getName() {
return name;
}
public MyObject(String name, int id) {
super();
this.name = name;
this.id = id;
}
@Override
public int compareTo(MyObject o) {
return name.compareTo(o.getName());
}
@Override
public String toString() {
return name+"\t"+id+"\n";
}
}
public class Test {
public static void main(String[] args) {
List<MyObject> list = new ArrayList<MyObject>();
list.add(new MyObject("John", 10));
list.add(new MyObject("Mark", 11));
list.add(new MyObject("Steve", 9));
Collections.sort(list);
System.out.println("Sorted list is :"+list);
}
}
Collections.sort()
ライブラリを使用して、コレクション( ArrayList
)およびオブジェクト用に特別に設計されたコレクションを渡すこともできComperator
ます。
http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html[enter link description here][1]