我有两个清单 -
ArrayList<MyObject> list1 -> [obj1, obj2, obj3, obj4, obj5, obj6]
ArrayList<MyObject> list2 -> [obj1, obj6, obj7, obj8]
java api中是否已经存在任何实用方法,可以只列出两个常见记录?
预期列表->
[obj1, obj6]
MyObject 看起来像这样 -
class MyObject {
public Integer number;
public String name;
public Integer parent;
public String parentName;
}
我只需要使用number
andname
进行比较。
我知道使用retainAll
或removeAll
获取所需列表的方法。然而问题是,我不能覆盖equals
方法,MyObject
因为它用于某些不同的目的。并且retainAll
orremoveAll
方法似乎不接受Comparator
对象。
我知道另一种解决方案是遍历列表并找到常见的列表。我正在寻找是否已经有一些方法可以做到这一点。
谢谢。