1.List中根据几个参数去去重
List<ProcessDimensionRelEntity> copyList = list.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() ->
new TreeSet<>(Comparator.comparing(o -> o.getBpdCode() + "#" + o.getDudCode() + "#" + o.getPermitValue()))), ArrayList::new));
if(list.size() != copyList.size()){
//说明有重复元素
}
2.List中取属性,封装为map
List<BizscopeProcessDefineEntity> bpdList = bizscopeProcessDefineService.selectList(bizscopeProcessDefineEntity);
Map<String,String> bpdMap = bpdList.stream().collect(Collectors.toMap(BizscopeProcessDefineEntity::getBpdCode,BizscopeProcessDefineEntity::getBpdName));
//指定key-value,value是对象本身
Map<String,BizscopeProcessDefineEntity> bpdMap2 = bpdList.stream().collect(Collectors.toMap(BizscopeProcessDefineEntity::getBpdCode,BizscopeProcessDefineEntity->BizscopeProcessDefineEntity));
//指定key-value,value是对象本身,Function.identity()是简洁写法,也是返回对象本身
Map<String,BizscopeProcessDefineEntity> bpdMap2 = bpdList.stream().collect(Collectors.toMap(BizscopeProcessDefineEntity::getBpdCode,Function.identity()));
3.List中取属性,封装为list
List<String> permitValueList = list.stream().map(ProcessDimensionRelEntity :: getPermitValue)
.collect(toList());
4.取俩集合List的交集
List<String> intersection = permitValueList.stream().filter(item -> permitValueListDB.contains(item)).collect(toList());
5.取俩集合List的差集permitValueList- intersection
List<String> addList = permitValueList.stream().filter(item -> !intersection.contains(item)).collect(toList());
6.list -> Integer[]
Integer[] ids = pdrIds.toArray(new Integer[0]);
- Integer[] -> list
List<Integer> pdrIdList = new ArrayList<>(Arrays.asList(pdrIds));
8.在list中根据字段分组,存储为Map《list》
List<DomainDefineDto> defineDtoList = domainDefineDao.findForList(domainDefineDto);
Map<String,List<DomainDefineDto>> defineDtoMap = new HashMap<>();
for(DomainDefineDto ddefine : defineDtoList){
String domainKey = ddefine.getDomainKey();
if (defineDtoMap.keySet().contains(domainKey)) {
defineDtoMap.get(domainKey).add(ddefine);
}else{
List<DomainDefineDto> ddfList = new ArrayList<>();
ddfList.add(ddefine);
defineDtoMap.put(domainKey,ddfList);
}
}