treeSet与treeMap

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);
        }

得出的结果为

treeSet与treeMap

 

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

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

treeSet与treeMap

上一篇:反调试——1——开始反调试


下一篇:使用CompletableFuture实现业务服务的异步调用