我有一个关键,值对形式的集合,我试图在它的基础上对它进行排序 关键本身 集合中的值是
cd,20
ef,65
ab,28
gh,76
现在如图所示第一个是关键,请告诉我如何根据密钥本身对其进行排序, 那是我看的输出。
ab,28
cd,20
ef,65
gh,76
答案 0 :(得分:3)
只需从原始地图创建TreeMap即可。 TreeMap根据键的自然顺序排序,因此
for (Map.Entry e : treeMap.entrySet()) {
// generics elided for clarity
将被排序。来自entrySet()
的文档:
返回此映射中包含的映射的Set视图。集合 iterator以升序键顺序返回条目。
使用entrySet()
表示您可以在一次操作中拉出键和相应的值,而不是必须获取键,然后返回到地图以获取值。这是一个小优化,但值得了解。
答案 1 :(得分:1)
TreeMap<String, Integer> map = new TreeMap<>();
// insert entries:
map.put("ab", 12);
// ...
// insertion order does not matter
for (String key : map.keySet()) {
System.out.println(key + ", " + map.get(key));
}
// will always print in sorted order