public MapString Integer getTotalRankingMapfinal ListComputeResultExportDTO computeResultExports final AtomicInteger atomicInteger = new AtomicInteger; return CollectionUtilsemptyIfNull
要根据对象属性排序,您可以使用Java的Comparator接口来定义排序规则。下面是一个示例代码,演示如何根据对象属性对Map进行排序:
public Map<String, Integer> getTotalRankingMap(final List<ComputeResultExportDTO> computeResultExports) {
final AtomicInteger atomicInteger = new AtomicInteger();
return CollectionUtils.emptyIfNull(computeResultExports)
.stream()
.collect(Collectors.groupingBy(ComputeResultExportDTO::getIdentity,
LinkedHashMap::new, Collectors.toList()))
.entrySet()
.stream()
.sorted(Comparator.comparing(Map.Entry::getKey)) // 根据对象属性进行排序
.collect(Collectors.toMap(Map.Entry::getKey,
item -> atomicInteger.incrementAndGet(),
(o, n) -> o,
LinkedHashMap::new));
}
在上述代码中,我们使用了sorted方法来对entrySet()进行排序。通过Comparator.comparing(Map.Entry::getKey),我们可以根据对象的getKey()方法的返回值来排序。您可以根据需要修改Comparator的定义以适应您的排序需求。
此示例代码将根据对象的identity属性对Map进行排序。您可以根据具体的对象属性名称替换getKey()方法来实现按其他属性排序
原文地址: https://www.cveoy.top/t/topic/i1NI 著作权归作者所有。请勿转载和采集!