Java 按键排序

Java 按键排序,java,dictionary,collections,Java,Dictionary,Collections,我有一个键、值对形式的集合,我试图根据 钥匙本身 集合中的值为 cd,20 ef,65 ab,28 gh,76 如图所示,第一个是键,请告诉我如何根据键本身对其进行排序, 这就是我想要的结果 ab,28 cd,20 ef,65 gh,76 只需从原始地图创建一个地图。树映射是根据键的自然顺序排序的,因此 for (Map.Entry e : treeMap.entrySet()) { // generics elided for clarity 将进行排序。从entrySet()的文

我有一个键、值对形式的集合,我试图根据 钥匙本身 集合中的值为

cd,20
ef,65
ab,28
gh,76
如图所示,第一个是键,请告诉我如何根据键本身对其进行排序, 这就是我想要的结果

ab,28
cd,20
ef,65
gh,76
只需从原始地图创建一个地图。树映射是根据键的自然顺序排序的,因此

for (Map.Entry e : treeMap.entrySet()) {
   // generics elided for clarity
将进行排序。从
entrySet()的文档中:

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

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

只需从原始地图创建一个优化。树映射是根据键的自然顺序排序的,因此

for (Map.Entry e : treeMap.entrySet()) {
   // generics elided for clarity
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
将进行排序。从
entrySet()的文档中:

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

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

TreeMap map=newtreemap();
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
//插入条目: 地图放置(“ab”,12); // ... //插入顺序无关紧要 for(字符串键:map.keySet()){ System.out.println(key+”,“+map.get(key)); } //将始终按排序顺序打印
TreeMap map=newtreemap();
//插入条目:
地图放置(“ab”,12);
// ...
//插入顺序无关紧要
for(字符串键:map.keySet()){
System.out.println(key+”,“+map.get(key));
}
//将始终按排序顺序打印
使用
树形图
,请参见类似于使用
树形图
,请参见类似于