我有钥匙,值对的形式集合,我试图把它 密钥本身 值集合中的基础上排序是排序键的基础上
cd,20
ef,65
ab,28
gh,76
现在如图所示,首先是关键,请告诉我可以根据关键本身对其进行排序的方式, 这是我所看到的输出结果。
ab,28
cd,20
ef,65
gh,76
我有钥匙,值对的形式集合,我试图把它 密钥本身 值集合中的基础上排序是排序键的基础上
cd,20
ef,65
ab,28
gh,76
现在如图所示,首先是关键,请告诉我可以根据关键本身对其进行排序的方式, 这是我所看到的输出结果。
ab,28
cd,20
ef,65
gh,76
只需从原始地图创建一个TreeMap即可。 TreeMap根据键的自然顺序排序,因此
for (Map.Entry e : treeMap.entrySet()) {
// generics elided for clarity
将被排序。从文档entrySet()
:
返回此映射中包含的映射的Set视图。该集合的 迭代器按照升序键顺序返回条目。
使用entrySet()
意味着您可以直接键和相应的值在一个操作,而不是要拿到钥匙,并返回到地图的价值。这是一个小的优化,但值得了解。
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
使用'TreeMap的<字符串,整数>',见[这里](http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html) – jlordo
类似到http://stackoverflow.com/questions/922528/how-to-sort-map-values-by-key-in-java – peroija