私はこの形式のオブジェクトのリストを持っています:
class myObj {
private String identifier;
public myObj(String identifier){
this.identifier = identifier;
}
}
List<myObj> allobjects = new ArrayList<myObj>();
allobjects.add(new myObj("123"));
allobjects.add(new myObj("123"));
allobjects.add(new myObj("123"));
allobjects.add(new myObj("123"));
allobjects.add(new myObj("1234"));
allobjects.add(new myObj("12345"));
allobjects.add(new myObj("12"));
allobjects.add(new myObj("12"));
重複するオブジェクトを個別のリストに抽出するエレガントな方法は何ですか?したがって、上記の例では、2つのリストを含む新しいリストが返されます。最初のリストには以下が含まれます:
new myObj("123");
new myObj("123");
new myObj("123");
new myObj("123");
2番目のリストには次のものが含まれます。
new myObj("12");
new myObj("12");
考えられる解決策は、新しいオブジェクトを作成することです。
List<List<myObj>> newList = new ArrayList<List<myObj>>
次に、リスト内の要素ごとに「allobjects」が各要素を繰り返し処理し、複数回含まれている要素ごとにリストに追加します。次に、現在の要素の反復の最後に、新しく作成されたリストを「newList」に追加します。
これは受け入れられますか、それとも別の解決策がありますか?