我有一个键值对形式的集合,我试图根据键本身对它进行排序,集合中的值是
cd,20
ef,65
ab,28
gh,76
现在如图所示,第一个是 key ,请告诉我根据 key 本身对它进行排序的方法,这就是我正在寻找的输出。
ab,28
cd,20
ef,65
gh,76
我有一个键值对形式的集合,我试图根据键本身对它进行排序,集合中的值是
cd,20
ef,65
ab,28
gh,76
现在如图所示,第一个是 key ,请告诉我根据 key 本身对它进行排序的方法,这就是我正在寻找的输出。
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