0

我有一个键值对形式的集合,我试图根据键本身对它进行排序,集合中的值是

cd,20
ef,65
ab,28
gh,76

现在如图所示,第一个是 key ,请告诉我根据 key 本身对它进行排序的方法,这就是我正在寻找的输出。

ab,28
cd,20
ef,65
gh,76
4

2 回答 2

3

只需从原始地图创建一个TreeMap 。TreeMap 根据键的自然顺序进行排序,因此

for (Map.Entry e : treeMap.entrySet()) {
   // generics elided for clarity

将被排序。来自文档entrySet()

返回此映射中包含的映射的 Set 视图。集合的迭代器以升序键顺序返回条目。

使用entrySet()意味着您可以在一次操作中拉取键和对应的值,而不必获取键,然后返回地图获取值。这是一个小的优化,但值得了解。

于 2012-11-19T17:34:07.653 回答
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
于 2012-11-19T17:34:56.123 回答