步骤1:准备两个List 首先,我们需要准备两个List作为输入。这里我们使用ArrayList作为示例: List<Integer>list1=newArrayList<>(Arrays.asList(1,2,3,4,5));List<Integer>list2=newArrayList<>(Arrays.asList(4,5,6,7,8)); 1. 2. 步骤2:使用Java 8的Stream API进行交集操作 接下来,我们将使用Java 8引入...
return resultList; } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 方法3,求两个集合交集,(map) 这种方法使用的是map的特性,首先将list集合中的元素依次存入一个map中去,然后再以m...
Map<String, Integer> map = new HashMap<>(); list2.forEach(i2 -> { map.put(i2 + "", i2); }); list1.forEach(i1 -> { Integer m = map.get(i1 + ""); //如果为空,则证明list2中无该数据 if (m == null) { resultList.add(i1); } }); System.out.println("耗时:" +...
原逻辑处理方法:循环currList,如果oldList中不包含即为增加的权限列表,反之,循环oldList,如果currList中不包含即为移除的权限列表,代码如下(简略写没运行,比较笨拙): //之前写的已经删了手动打下(add处有问题应该用map,将就着看吧)List<String> removeList =newArrayList<String>(); List<String> addList =newAr...
求两个List对象交集、差集: public class ListOperation { public sthttp://atic void sameAndDifferentOperation(Lista, Listb, ListsameItems, ListonlyAItems, ListonlyBItems){ if (a.isEmpty() && b.isEmpty()){ return; } LinkedHashMapmap = new LinkedHashMap<>(); ...
删了手动打下(add处有问题应该用map,将就着看吧)List<String>removeList=newArrayList<String>();List<String>addList=newArrayList<String>();for(String old:currList){if(!currList.contains(old)){removeList.add(old,"-1")}}for(String curr:oldList){if(!oldList.contains(curr)){addList.add(curr,...
用Stream先对两个List根据name进行groupBy,得到两个Map;然后第一个Map的key进行循环,如果这个key在两个map都存在,则说明是交集的一部分,将两个map中该key对应的value集合都加入结果List中 来自Android客户端12楼2023-05-07 20:58 收起回复 呆头呆脑才没有烦恼 淼淼水 7 试试RetainAll,然后重写equals方法 来自...
(mainDataMd0006Params, MainDataMd0006PO.class);//查询 存在的--根据批次编码List<MainDataMd0006PO> listup =mainDataMd0006Service.selectBatchIds(listpo);//交集 (list1 & list2) 取list1 表的数据List<MainDataMd0006PO> listupdate =listpo.stream().filter(item-> listup.stream().map(up ->...
log.info("intersectionForList_2:" + (endTime - startTime)); return resultList; } 方法3,求两个集合交集,(map) 这种方法使用的是map的特性,首先将list集合中的元素依次存入一个map中去,然后再以map的get方法来判断是否存在这样的元素。 这种方法的效率最高,在10万条数据的测试下,这种方法耗时仅仅在十几...
交集: 代码语言:javascript 复制 privateList<SysOrgUserRefModel>colationOrgUserData(List<SysOrgUserRefModel>saveEntities,List<WFGroupEntity>groupEntityList){// 拿出组织集合中的组织id集合List<String>groupList=groupEntityList.stream().map(WFGroupEntity::getId).collect(Collectors.toList());// 根据组织...