gpt4 book ai didi

java - 如何按排序顺序获取 TreeMap(或其他 Map,如有必要)条目?

转载 作者:行者123 更新时间:2023-11-29 06:59:43 26 4
gpt4 key购买 nike

我需要一个可以让我按键排序元素的集合。键是整数,但它们不是连续的。这是我所拥有的示例:

<3, Alessandro>
<12, Mario>
<1, Marco>

我需要按以下顺序打印这些元素:

Marco    
Alessandro
Mario

我试过使用 TreeMap,但我不能像这样创建一个循环:

for(int i = 0; i < treeMap.size(); i++){    
System.out.println(treeMap.get(i));
}

因为键不是顺序的,调用 treeMap.get() 时会出错,因为我不知道键整数。

最佳答案

get通过 key 获取,而不是索引位置。遍历 entrySetkeySet .

设置:

TreeMap<Integer, String> treeMap = new TreeMap<Integer, String>();

treeMap.put(3, "Alessandro");
treeMap.put(12, "Mario");
treeMap.put(1, "Marco");

示例使用 entrySet ,在这种情况下你会得到一个 Map.Entry<Integer, String>对于每次迭代:

for (Map.Entry<Integer, String> entry : treeMap.entrySet()) {
System.out.println(entry.getValue());
}

或者如果你喜欢 keySet ,它为您提供 key ( Integer s):

for (Integer key : treeMap.keySet()) {
System.out.println(treeMap.get(key));
}

无论哪种方式,上面的结果都是:

MarcoAlessandroMario

例如,按键的自然顺序排序。

关于java - 如何按排序顺序获取 TreeMap(或其他 Map,如有必要)条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28064452/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com