java 获取两个List集合的交集

在使用retainAll方法时,不要直接使用Arrays.asList这种方式,可能会出现以下异常:

System.out.println(Arrays.asList("101,105").removeAll(Arrays.asList("101,105")));

原因:Arrays.asList() 返回的是Arrays的内部类ArrayList, 而不是java.util.ArrayList !

正确姿势如下 :

        List<String> list1=new ArrayList<>();
        list1.add("105");
        list1.add("205");
        list1.add("505");
        List<String> list2=new ArrayList<>();
        list2.add("305");
        list2.add("505");
        list2.add("205");
        List origin = new ArrayList<>();
        origin.addAll(list1);
        origin.retainAll(list2);
        System.out.println("【交集】"+origin);
        System.out.println("【交集个数】"+origin.size());


版权声明:本文为wxd772113786原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。