java
使用Java 8中的Stream
reduce
Optional <integer>sum1 = numStream.reduce((x, y) -> x + y);Integer sum2 = numStream.reduce(0, Integer::sum);List<StandardTaskController.TaskResponse> taskResponses = queryResult.stream().map(task -> buildTaskResponse(task, queryParam.getBusinessType()))
.collect(Collectors.toList());
StandardTaskController.TaskResponse zeroTime = StandardTaskController.TaskResponse
.builder().createTime(new Date(0)).build();
taskResponses=taskResponses.stream()
.collect(
Collectors.collectingAndThen(
Collectors.groupingBy(StandardTaskController.TaskResponse::getProInsId,
Collectors.reducing(zeroTime,
BinaryOperator.maxBy(Comparator.comparing(StandardTaskController.TaskResponse::getCreateTime)))),
r -> new ArrayList<>(r.values())));toMap
基础理论
垃圾回收

Last updated