> 历史文化
9过滤集合中重复的数据有哪些(9过滤集合中重复的数据怎么处理)
导语:9.过滤集合中重复的数据
private void printTransferCustomerRepeatDataLog(Long groupId, Long taskId, List<ShopCustomerVO> shopCustomerVOListAll) { // 1.首先获取每个对象在集合中出现的个数 Map<String, Integer> countMap = shopCustomerVOListAll.stream() .filter(t -> ObjectUtils.isNotEmpty(t.getNickInfoList()) && !t.getNickInfoList().get(0).getNick().equals(t.getNickInfoList().get(0).getPlatform())) .collect(Collectors.toMap(vo -> String.format(CacheKeyConstant.CUSTOMER_TRANSFER_KEY, vo.getNickInfoList().get(0).getNick(), vo.getNickInfoList().get(0).getPlatform()), value -> 1, (value1, value2) -> value1 + value2)); // 2.过滤出重复的数据 List<ShopCustomerVO> repeatShopCustomerVO = shopCustomerVOListAll.stream().filter(t -> ObjectUtils.isNotEmpty(t.getNickInfoList()) && countMap.get(String.format(CacheKeyConstant.CUSTOMER_TRANSFER_KEY, t.getNickInfoList().get(0).getNick(), t.getNickInfoList().get(0).getPlatform())) > 1).collect(Collectors.toList()); JobLog.info(, ServiceTypeEnum.CUSTOMER_TRANSFER_TASK_PRE_PROCESS.getName(), groupId, taskId, JSON.toJSONString(repeatShopCustomerVO)); }
本文内容由小德整理编辑!