【发布时间】:2015-08-09 12:26:54
【问题描述】:
我有下面的hashmap 如下:
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("a", 4);
map.put("b", 9);
map.put("c", 1);
我想根据它们的值对哈希图进行排序,它应该给出如下输出:
[1, 4, 9]
这可以使用 Comparator 吗?
更新:提供的链接没有提供解决方案,我尝试了解决方案,创建的hashmap无法按键遍历。
【问题讨论】:
-
HashMaps 没有顺序。您需要将这些值存储在其他地方。
-
@Pshemo 是个很大的hashmap,可以存储在别的地方然后按值排序吗?
-
正如我所说,HashMap 是无序结构,因此您不能对它们强制执行任何顺序。您需要新的结构来存储这些值并稍后对其进行排序。
-
@SMA 我尝试了重复链接中提供的解决方案,但创建的 hashmap 无法按键遍历。