System.out.println("CollectionUtils 并集结果是: "+ union); 通过set合并 Set<Integer> unionSet =newHashSet<>(); unionSet.addAll(list1); unionSet.addAll(list2); System.out.println("set 并集结果是:"+ unionSet); 4. 差集 通过CollectionUtils工具包 (推荐),需要引入CollectionUtils 工具包 // 引...
//账号去重并集List<String> deduplicationUnionAccount =Stream.of(accountList1, accountList2).flatMap(List::stream).distinct().collect(Collectors.toList());//账号交集List<String> intersectionAccount =accountList1.stream().filter(accountList2::contains).collect(Collectors.toList());//账号补集(并集-...
java8集合求差集、并集、交集 java8集合求差集、并集、交集 前⾔ java8⾥最⼤亮点是lambda,让我们⽤习惯C# linq的语法,也能眼前⼀亮。但是⽐起C#的语法糖还是差的很远。差集、并集、交集 @Test public void test1(){ List<Integer> list1=new ArrayList<>();list1.add(1);list1.add(2);list1...
交集: 代码语言:javascript 复制 privateList<SysOrgUserRefModel>colationOrgUserData(List<SysOrgUserRefModel>saveEntities,List<WFGroupEntity>groupEntityList){// 拿出组织集合中的组织id集合List<String>groupList=groupEntityList.stream().map(WFGroupEntity::getId).collect(Collectors.toList());// 根据组织...
list1.add(“2”); list1.add(“3”); list1.add(“5”); list1.add(“6”); List<String>list2 = new ArrayList<String>(); list2.add("2"); list2.add("3"); list2.add("7"); list2.add("8"); // 交集 List<String>intersection = list1.stream().filter(item -> list2.contai...
计算两个集合交集的方法为retainAll,计算两个集合差集的方法为removeAll,通常我们在使用这两个方法的时候不会遇到问题,因为我们进行集合运算的两个List数据不会有太多,listA.retainAll(listB);这行代码的执行用不了几毫秒。就算列表数据有几万,差不多一秒左右也能执行完,但是当两个列表数据超过10万时,你就会发现,...
下面是:两个List集合取交集、并集、差集、去重并集的一个简单Demo,可供参考: 代码语言:javascript 复制 packagecom.ymdd.galaxy.appmanage.core.appauth.service;importjava.util.ArrayList;importjava.util.List;importstaticjava.util.stream.Collectors.toList;publicclassTest{publicstaticvoidmain(String[]args){List...
1.交集 listA.retainAll(listB);System.out.println(listA);// 结果:[B] 2.并集 listA.addAll(listB);System.out.println(listA);// 结果:[A,B, B, C] 3.差集 listA.removeAll(listB);System.out.println(listA);// 结果:[A] 多个List去重,最直接的办法就是使用HashSet直接addAll(),这个时候得到...
交集1: [a, b, c] 交集2:[a, b, c] 并集: [a, b, c, d, e, f, g, h, a, b, c, i, j, a] 无重并集: [a, b, c, i, j, a, d, e, f, g, h] 差集1: [d, e, f, g, h] 差集2:[d, e, f, g, h] 注意list赋值问题 如果使用了赋值方式,如 list1 = list0...
2.取交集或者差集时存在主数据和从数据的关系,可提前判断一下那个集合数据量更多,来决定主从数据,或者经过两轮比较,或者经过两轮比较,获取两个结果集。下面例举中,list1为主数据,list2为从数据。 取交集 publicstaticvoidmain(String[]args){//模拟数据List<Integer>list1=newArrayList<>();List<Integer>list2=new...