为什么我的TreeMap没有排序?

use*_*186 8 java treemap

我使用了TreeMap键是a的位置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);
Run Code Online (Sandbox Code Playgroud)

我希望输出像这样排序:

map:{Hello = 1,world = 2,Zertt = 5}

但相反,我得到了这个:

map:{Hello = 1,Zertt = 5,world = 2}

Era*_*ran 18

Strings 的自然顺序区分大小写,所以Z之前w(所有大写字母都在所有小写字母之前).

使用

TreeMap<String, Integer> m = new TreeMap<String, Integer>(String.CASE_INSENSITIVE_ORDER);
Run Code Online (Sandbox Code Playgroud)

对于不区分大小写的顺序.