Java: equals の定義が異なるリスト操作を実行するにはどうすればよいですか?
一般的な POJO の 2 つのリストがあります。リスト内の POJO を比較するさまざまな方法に基づいて、リストに対していくつかの集合操作を実行する必要があります。
たとえば、POJO に次の構造があるとします。
public class GenericPojo {
private String id;
private String address;
private String city;
private String country;
private String extraDetails;
}
(適切なゲッターとセッターを使用)
List1<GenericPojo>
とが与えられた場合List2<GenericPojo>
、どのように見つけますか:
List1 - List2 ( GenericPojo
ID だけが等しい場合、クラスは等しい)
List1 と List2 の交差 (ここid
で、address
、city
、、が等しくcountry
ない)extraDetails
GenericPojo
ここで、2 つの異なるカスタム コンパレータ クラスが役に立ちますか? これらの操作を効果的に処理するライブラリはありますか、それとも独自に実装してみる必要がありますか?