ArrayList<Dear> dishes = Lists.newArrayList(
new Dear("pork", 500),
new Dear("beef", 500),
new Dear("chicken", 400),
new Dear("french fries", 400),
new Dear("rice", 400),
new Dear("season fruit", 500),
new Dear("pizza", 300),
new Dear("prawns", 300),
new Dear("salmon", 300)
);
// 最大值
Optional<Dear> maxOp = dishes.stream().max(Comparator.comparingInt(Dear::getAge));
System.out.println("最大值:"+maxOp.get().getAge());
// 最小值
Optional<Dear> minOp = dishes.stream().min(Comparator.comparingInt(Dear::getAge));
System.out.println("最小值:"+minOp.get().getAge());
// 平均值
Double avg = dishes.stream().collect(Collectors.averagingInt(Dear::getAge));
System.out.println("平均值:"+avg);
// 集合拼接
String listStr = dishes.stream().map(Dear::getName).collect(Collectors.joining(","));
System.out.println("集合拼接:"+listStr);
// toList
java.util.List<String> list = dishes.stream().map(Dear::getName).collect(Collectors.toList());
System.out.println(list);
Set<String> types = dishes.stream().map(Dear::getName).collect(Collectors.toSet());
System.out.println(types);
// toMap
java.util.Map<String, Integer> byType = dishes.stream().collect(Collectors.toMap(Dear::getName, Dear::getAge));
System.out.println(byType);
// 分组
java.util.Map<Integer, java.util.List<Dear>> group = dishes.stream().collect(Collectors.groupingBy(Dear::getAge));
System.out.println(group);
// 过滤
java.util.List<Dear> filterList = dishes.stream().filter(f -> f.getAge() != 300).collect(Collectors.toList());
System.out.println(filterList);
// 排序
java.util.List<Dear> orderList = dishes.stream().sorted(Comparator.comparing(Dear::getAge).reversed()).collect(Collectors.toList());
System.out.println(orderList);
List<DataSetParam> dataSetParamList = this.list(
new QueryWrapper<DataSetParam>()
.lambda()
.eq(DataSetParam::getEnableFlag,1)
.eq(DataSetParam::getDeleteFlag,0)
);
// 对数据进行分组
Map<String, List<DataSetParam>> orgValuableStreetDTOMap = dataSetParamList.stream().collect(Collectors.groupingBy(DataSetParam::getSetCode));
// 将数据排序分组
Map<String,List<DataSetTransform>> map = dataSetParamList.stream().
sorted(Comparator.comparing(DataSetTransform::getOrderNum,Comparator.nullsLast(Integer::compareTo))).
collect(Collectors.groupingBy(DataSetTransform::getSetCode));
// 对数据集过滤
List<OrgValuableStreetDTO> orgValuableStreetDTOList = baseMapper.queryStreetByCode(collect);
Map<String, OrgValuableStreetDTO> orgValuableStreetDTOMap = Optional.ofNullable(orgValuableStreetDTOList).orElse(Lists.newArrayList()).stream()
.collect(Collectors.toMap(OrgValuableStreetDTO::getStreetCode, v -> v, (k1, k2) -> k1));
resList.forEach(e -> {
OrgValuableStreetDTO orgValuableStreetDTO = orgValuableStreetDTOMap.get(e.getCode());
if(!ObjectUtils.isEmpty(orgValuableStreetDTO)){
e.setValueStreetFlag(ObjectUtils.isEmpty(orgValuableStreetDTO.getIsValuableStreet())?null:orgValuableStreetDTO.getIsValuableStreet().toString());
e.setLevelPoi(ObjectUtils.isEmpty(orgValuableStreetDTO.getMapmark())?null:orgValuableStreetDTO.getMapmark().toString());
e.setProjectNum(ObjectUtils.isEmpty(orgValuableStreetDTO.getProjectNum())?null:orgValuableStreetDTO.getProjectNum());
}
});
JDK8 新特性
于 2019-09-11 17:25:48 首次发布