List<Object> listRule 根据 projectCode分组,然后取最大完成时间completeTime
时间: 2024-03-10 10:48:55 浏览: 93
项目完成时间
好的,您的问题是关于一个 List<Object> 类型的变量 listRule 的操作。那么,根据您的要求,我们需要对 listRule 进行按照 projectCode 分组,并且在每个分组中找到完成时间 completeTime 最大的那个元素。那么,下面是可能的实现:
```java
Map<String, Object> resultMap = listRule.stream()
.collect(Collectors.groupingBy(obj -> obj.getProjectCode(),
Collectors.collectingAndThen(
Collectors.maxBy(Comparator.comparing(obj -> obj.getCompleteTime())),
Optional::get
)
));
```
以上代码使用了 Java 8 提供的 stream API,对 listRule 进行分组操作,并且使用了 Collectors.maxBy 方法找到每个分组中 completeTime 最大的元素。最终的结果是一个 Map<String, Object> 类型的变量 resultMap,其中 key 为 projectCode,value 为对应的元素。
阅读全文