TreeMap如何排序 [英] TreeMap how does it sort

查看:1328
本文介绍了TreeMap如何排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

TreeMap如何排序?例如,您具有以下地图:

How does the TreeMap sort? say for example you have the following 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

那么如果不是按字母顺序是什么呢?

So if its not alphabetically what is it then?

推荐答案

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

It is not only alphabetical, but it is also upper/down case sensitive.

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

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

So, if you don't need it, you can use your custom comparator, and compare string in lower case:

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

这篇关于TreeMap如何排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆