gpt4 book ai didi

java - 按值对 Map 进行排序

转载 作者:行者123 更新时间:2023-11-29 08:53:04 24 4
gpt4 key购买 nike

我是 Java 的新手,经常发现我需要对 Map<Key, Value> 进行排序关于值(value)观。

由于值不是唯一的,我发现自己正在转换 keySet进入 array ,并使用自定义比较器通过数组排序对该数组进行排序,该比较器根据与键关联的值进行排序。

有没有更简单的方法?

最佳答案

这是一个通用友好的版本:

public class MapUtil {
public static <K, V extends Comparable<? super V>> Map<K, V> sortByValue(Map<K, V> map) {
List<Entry<K, V>> list = new ArrayList<>(map.entrySet());
list.sort(Entry.comparingByValue());

Map<K, V> result = new LinkedHashMap<>();
for (Entry<K, V> entry : list) {
result.put(entry.getKey(), entry.getValue());
}

return result;
}
}

关于java - 按值对 Map<Key, Value> 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21729574/

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