gpt4 book ai didi

java - TreeMap 迭代没有给我排序键

转载 作者:行者123 更新时间:2023-12-01 06:42:53 26 4
gpt4 key购买 nike

我有以下 Java 代码摘录。我希望看到以排序方式打印的键(因为我使用的是 TreeMap),但它没有对键进行排序。我缺少什么?

代码:

public class TreeMapTest {
static TreeMap<String,String> li=new TreeMap<String,String>();

static void readAndPrint(){
for (Map.Entry<String, String> entry:li.entrySet() ){
System.out.println(entry);
}

}
public static void main(String[] args) {
for (int i=0;i<10;i++){
String key = String.valueOf(new Random().nextInt(100));
String item = UUID.randomUUID().toString().substring(30);
li.put(key,item);
System.out.println(MessageFormat.format("inserting ({0},{1})",key,item));
}

readAndPrint();
}
}

示例输出:

inserting (7,f4b66a)
inserting (2,5f417d)
inserting (51,90bb9f)
inserting (99,4bfb73)
inserting (41,a4e9d5)
inserting (14,9286d6)
inserting (44,ec4fbd)
inserting (58,e7dd3a)
inserting (69,c54e66)
inserting (0,d1fbfe)
0=d1fbfe
14=9286d6
2=5f417d
41=a4e9d5
44=ec4fbd
51=90bb9f
58=e7dd3a
69=c54e66
7=f4b66a
99=4bfb73

如您所见,我没有对元素进行排序(我有时对输出进行排序,有时不按上面的方式排序!)。我遗漏了什么或误解了什么?

最佳答案

它们按照字符串的默认排序顺序排序。字符串按字典顺序排序,因此 "14" 被视为小于 "2"

如果您想要数字排序顺序,则应该将键设置为整数而不是字符串。

关于java - TreeMap 迭代没有给我排序键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36119465/

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