1.Map<String, List<PartnerStoreRespDTO>> sliceCollect =
respDTOList.stream().collect(Collectors.groupingBy(PartnerStoreRespDTO::getSliceAreaCode));根据对象属性分组
2.list集合直接转换成map:
Map<String,SourceDTO> sourceMap = sourceList.stream().collect(Collectors.toMap(SourceDTO::getItemNo, Function.identity()));
Map<Integer,User> userMap2 = userList.stream().collect(Collectors.toMap(User::getId,User->User));
Map<Integer,String> userMap1 = userList.stream().collect(Collectors.toMap(User::getId,User::getName));
指定key-value,value是对象本身,Function.identity()是简洁写法,也是返回对象本身,key 冲突的解决办法,这里选择第二个key覆盖第一个key:
Map<Integer,User> userMap4 = userList.stream().collect(Collectors.toMap(User::getId, Function.identity(),(key1,key2)->key2));
3.List<String> sliceCodeList = storeRespDTOList.stream().map(PartnerStoreRespDTO::getStoreCode).collect(toList());
4.去重
List uniqueList = list.stream().distinct().collect(Collectors.toList());
5.respDTOList.forEach(storeRespDTO -> {
PartnerInspectBaseRspDTO partnerInspectBaseRspDTO = new PartnerInspectBaseRspDTO();
partnerInspectBaseRspDTO.setAreaCode(storeRespDTO.getSliceAreaCode());
partnerInspectBaseRspDTO.setStoreCode(storeRespDTO.getStoreCode());
partnerInspectBaseRspDTO.setStoreName(storeRespDTO.getStoreName());
baseRspDTOList.add(partnerInspectBaseRspDTO);
});