【发布时间】:2019-04-12 04:38:35
【问题描述】:
我正在尝试根据值对HashMap进行排序,使其按降序排序。但我不知道如何实现它。我该怎么做呢?
HashMap<K, Integer> keysAndSizeMap = new HashMap<>();
for (K set : map.keySet()) {
keysAndSizeMap.put(set, map.get(set).size());
}
// implementation here?
System.out.println("keysAndSizeMap: " + keysAndSizeMap);
我想要的结果示例:
- 输入:
{800=12, 90=15, 754=20} - 输出:
{754=20, 90=15, 800=12}
-或-
- 输入:
{"a"=2, "b"=6, "c"=4} - 输出:
{"b"=6, "c"=4, "a"=2}
【问题讨论】:
-
你需要java-8解决方案吗?
-
A
HashMap没有内在顺序。您必须对元素进行排序,并按照您希望它们在迭代时出现的顺序将它们放入List或LinkedHashMap。根据定义,HashMap的迭代顺序是未定义的。 -
啊,所以您在寻找直方图?