目录

  • 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");
    }

运行结果如下:

java list 字符串拼接 java中list合并_开发语言

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);

java list 字符串拼接 java中list合并_List_02

2.更多对象属性集合的去重合并

java jdk8 使用stream实现两个list集合合并成一个list集合(对象属性的合并)