gpt4 book ai didi

java - TreeMap 是如何排序的

转载 作者:太空狗 更新时间:2023-10-29 22:49:30 27 4
gpt4 key购买 nike

TreeMap 如何排序?例如,您有以下 map :

TreeMap<String, Integer> treemap = new TreeMap<>();
treemap.put("lol", 1);
treemap.put("Marc", 2);
treemap.put("Jesper", 3);

Iterator ittwo = treemap.entrySet().iterator();
while (ittwo.hasNext()) {
Map.Entry pairs = (Map.Entry)ittwo.next();
System.out.println(pairs.getKey() + " = " + pairs.getValue());
ittwo.remove();
}

这个的输出是:

Jesper = 3
Marc = 2
lol = 1

如果它不是按字母顺序排列的,那么它是什么?

最佳答案

它不仅按字母顺序排列,而且还区分大小写。

TreeMap<String, Integer> treemap = new TreeMap<String, Integer>();
treemap.put("Lol", 1);
treemap.put("Marc", 2);
treemap.put("Jesper", 3);
treemap.put("lol1", 1);
treemap.put("marc1", 2);
treemap.put("jesper1", 3);

输出:

Jesper = 3
Lol = 1
Marc = 2
jesper1 = 3
lol1 = 1
marc1 = 2

因此,如果您不需要它,您可以使用自定义比较器,并比较小写的字符串:

TreeMap<String, Integer> treemap = new TreeMap<String, Integer>(new Comparator<String>() {
public int compare(String o1, String o2) {
return o1.toLowerCase().compareTo(o2.toLowerCase());
}
});
treemap.put("Lol", 1);
treemap.put("Marc", 2);
treemap.put("Jesper", 3);
treemap.put("lol1", 1);
treemap.put("marc1", 2);
treemap.put("jesper1", 3);

输出:

Jesper = 3
jesper1 = 3
Lol = 1
lol1 = 1
Marc = 2
marc1 = 2

关于java - TreeMap 是如何排序的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13642636/

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