我使用了TreeMap
,其中键是String
,值是Integer
类型。当我输出Map
对象时,它不是按排序顺序打印的。
这是我使用的代码:
TreeMap<String, Integer> m = new TreeMap<String, Integer>();
m.put("Hello", 1);
m.put("world", 2);
m.put("Zertt", 5);
m.put("Hello", 1);
m.put("world", 2);
System.out.println("map : " + m);
我希望输出像这样排序:
但是我得到了这个:
最佳答案
String
的自然排序区分大小写,因此Z
在w
之前(所有大写字母在所有小写字母之前)。
用
TreeMap<String, Integer> m = new TreeMap<String, Integer>(String.CASE_INSENSITIVE_ORDER);
对于不区分大小写的命令。
关于java - 为什么我的TreeMap不排序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34410758/