目录
- 1.list.addAll()
- 1.2 注意
- 2.更多对象属性集合的去重合并
1.list.addAll()
@Test
public void testUnionLst() {
List<Integer> lst1 = new ArrayList<Integer>();
lst1.add(1);
lst1.add(2);
List<Integer> lst2 = new ArrayList<Integer>();
lst2.add(2);
lst2.add(3);
//将lst2中的所有元素添加到lst1中
lst1.addAll(lst2);
lst1.forEach(p -> {
System.out.println(p);
});
System.out.println("以上俩集合合并的结果\n");
System.out.println("--------------------\n");
//新的list集合,用来放最后的结果集
List<Integer> lstResult = new ArrayList<Integer>();
//用set去重
Set<Integer> set = new HashSet<Integer>();
for (int i = 0; i < lst1.size(); i++) {
int j = lst1.get(i);
set.add(j);
}
//将set集合转为list集合
for (Iterator<Integer> it = set.iterator(); it.hasNext(); ) {
lstResult.add(it.next());
}
lstResult.forEach(p -> {
System.out.println(p);
});
System.out.println("以上是合并后去重的结果\n");
}
运行结果如下:
1.2 注意
addAll()方法,只针对常规定义实例化的list集合有效,对其他方式实例化的list集合无效。
- 有效的初始化:
List<Integer> lst1 = new ArrayList<Integer>();
lst1.add(1);
lst1.add(2);
List<Integer> lst2 = new ArrayList<Integer>();
lst2.add(2);
lst2.add(3);
- 无效的初始化:
List<Integer> lst3 = Arrays.asList(1,2,3);
List<Integer> lst4 = Arrays.asList(2,3,4);
lst3.addAll(lst4);
2.更多对象属性集合的去重合并
java jdk8 使用stream实现两个list集合合并成一个list集合(对象属性的合并)