1.根据一个list中的对象中具体一个属性值组成新的list
itemList.stream().map(item::getMaterialCode).collect(Collectors.toList());
2.根据list中对象某一个属性作为key,对象作为value转成map
Map<String,MaterialViewDTO> mapMaterial = listMaterials.stream().collect(Collectors.toMap(item -> item.getMaterialBasicInfo().getMaterialCode(),item ->item));
3.根据list中对象某一个属性值相同的组成map,key是相同的值,value是list
Map<String, List<ProdVendorDTO>> mapProdVendors = materialBasic.getProdVendors().stream().collect(Collectors.groupingBy(item -> item.getProdPlantCode()));
4.String类型的list 去掉重复的数据,成新的list
tempList.stream().distinct().collect(Collectors.toList())
5.对象类型的list,取出对象中某一个属性值去掉重复的,组成string类型的list
listItemCheck.stream().map(OrderItem::getMaterialCode).distinct().collect(Collectors.toList())
6.取出一个对象类型的list中,每个对象的某个属性值等于具体数值的对象组成新的list
orderConditions.stream().filter(item -> Objects.equals(item.getConditionCode(), "ZK09")).collect(Collectors.toList());
7.取出对象类型的list中,每个对象的属性值组成map,key值重复的,value取最新的
conditions.stream().collect(Collectors.toMap(OrderCondition::getConditionCode, OrderCondition::getConditionValue, (key1, key2) -> key2));
8.判断一个对象类型的list中某一个对象的属性值是不是等于具体数值,如果存在返回true
listSysDict.stream().filter(SysDictItemDTO->String.valueOf(SysDictItemDTO.getValue()).equals("value")).findAny().isPresent()