gpt4 book ai didi

java - 从java中的 map 中检索有序列表

转载 作者:行者123 更新时间:2023-12-03 21:27:26 25 4
gpt4 key购买 nike

假设我有一个 HasMap<String, Student> , 其中 Student有一个方法double getAverage() , 有没有聪明的方法来检索 List<String>来自 Map 的 key 按平均递减顺序排列?

我正在考虑使用流来实现紧凑性,但这不起作用:

List<String> ordered  = studentMap.entrySet().stream()
.sorted((e1, e2) -> e2.getValue().getAverage().compareTo(e1.getValue().getAverage()))
.map(Map.Entry::getKey)
.collect(Collectors.toList());

最佳答案

您可以使用 Comparator.comparingDoubleComparator.reversed()为此目的:

List<String> ordered  = studentMap.entrySet().stream()
.sorted(Comparator.<Map.Entry<String, Student>>comparingDouble(e -> e.getValue().getAverage()).reversed())
.map(Map.Entry::getKey)
.collect(Collectors.toList());

关于java - 从java中的 map 中检索有序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38070052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com