TreeSet问题

来源:5-5 关于TreeSet的使用

慕用4915122

2020-11-23 21:33:04


http://img.mukewang.com/climg/5fbbb8a4095cc6a408870150.jpg

为啥在TreeSet要传入实现类做为参数?而在list集合中不用啊。

List集合和Set集合在做排序时有啥区别?他俩是不是都差不多?

写回答

1回答

好帮手慕小尤

2020-11-24

同学你好,1. TreeSet需要传递参数,是在TreeSet类中已经定义好了,同学按照规定调用即可。

    ​ public TreeSet(Collection<? extends E> c)构造一个包含指定 collection 元素的新 TreeSet,它按照其元素的自然顺序进行排序。

2. set集合是无序的无法进行排序,如果set集合想要进行排序,则需要结合TreeSet集合。例如:

public static void main( String[] args ) {
        Set<String> set = new HashSet<>();
        set.add("1");
        set.add("2");
        set.add("5");
        set.add("4");
        set.add("3");
        System.out.println(set.toString());
        Set<String> sortSet = new TreeSet<String>(new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                return o2.compareTo(o1);//降序排列
            }
        });
        sortSet.addAll(set);
        System.out.println(sortSet.toString());
 
    }

注:一般不会使用set进行排序,同学大概了解一下即可。

0

0 学习 · 16556 问题

查看课程

相似问题