我有课ViewPartner.java
。该类如下所示
public class ViewPartner {
private Integer id;
//GET, SET
//Other properties
}
我有两个List<ViewPartner>
,比如说lst1
和lst2
我需要通过以下方式组合它们:
如果有ViewPartner
与相同的id
两者皆 lst1
和lst2
我们将 ViewPartner
来自lst1
,否则来自两个列表。
我正在使用apache commons
和google guava
...也许有一些即时方法?
严格使用 List
对我来说并不重要在这里。
最佳答案
您可以创建一个独特项目的列表,如下所示:
Set<ViewPartner> union = new HashSet<ViewPartner>( list1 );
union.addAll( list2 );
Collection(Set) union
现在将拥有两个列表中的唯一项目,因为 Set
不允许重复值。
此外,您还需要在 ViewPartner
类中为成员 id 实现
.Object.equals()
和 Object.hashCode()
方法
关于java - 如何组合两个列表(或两个任何其他类型的集合),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28126969/