首页 > 其他 > 详细

treeSet与treeMap

时间:2021-08-30 01:03:38      阅读:8      评论:0      收藏:0      [点我收藏+]

1)treeSet的底层是treeMap

2)treeSet里有一个内置的比较类,我们可以通过设置比较的内容,来进行特定的排序

3)treeSet默认的排序好像是字典序排序?我自己测的时候,他能够按照字母大小进行排序

如下是字典序排序的

TreeSet treeSet = new TreeSet(new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                return ((String) o2).compareTo((String) o1);
            }
        });

如下是按字符长度排序的

TreeSet treeSet = new TreeSet(new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                return ((String) o1).length() - ((String) o2).length();
            }
        });
        treeSet.add("jack");
        treeSet.add("ja");
        treeSet.add("jack");
        treeSet.add("jacka");
        treeSet.add("jackaaa");
        treeSet.add("hhhh");
        for (Object o : treeSet) {
            System.out.println(o);
        }

得出的结果为

技术分享图片

 

 可以看到,hhhh这一条数据没有插入成功,为什么呢?

因为我们在进行比较的时候,是比较字符串的长度,如果字符串长度相同,那么就默认为这是两个相同的数据,故没有插入成功。

treeSet与treeMap

原文:https://www.cnblogs.com/pangbi/p/15203011.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!