私は2つのリストを持っています -
ArrayList<MyObject> list1 -> [obj1, obj2, obj3, obj4, obj5, obj6]
ArrayList<MyObject> list2 -> [obj1, obj6, obj7, obj8]
2つの共通レコードのみのリストを提供できるJava APIにすでに存在するユーティリティメソッドはありますか?
期待されるリスト ->
[obj1, obj6]
MyObject は次のようになります -
class MyObject {
public Integer number;
public String name;
public Integer parent;
public String parentName;
}
使用して比較を行うだけnumber
ですname
。
retainAll
またはremoveAll
を使用して目的のリストを取得する方法を認識しています。ただし、問題は、別の目的で使用されるため、のメソッドをオーバーライドできないequals
MyObject
ことです。retainAll
orメソッドはオブジェクトremoveAll
を受け入れないようです。Comparator
別の解決策は、リストを反復処理して共通のものを見つけることです。それを行う方法がすでにあるかどうかを探しています。
ありがとう。