暑假学习记录23 Set集合,Comparable

(1)今天学习了LinkedHashSet,TreeSet集合,Comparable,Comparator
(2)明天学习泛型
(3)  1  LinkedHashSet特点  元素的存储和取出顺序一致,没有重复的元素

       2  TreeSet特点   1 元素有序,不是指存储和取出的顺序,而是指按照一定的规则进行排序,具体排序方式取决于构造方法

                                    TreeSet()  根据其元素的自然排序进行排序

                                    TreeSet(Comparator comparator)  根据指定的比较器进行排序

                                  2  没有带索引的方法,不能使用普通for循环遍历

        3  Comparable  用TreeSet集合存储自定义对象,无参构造方法使用的是自然排序

                                 自然排序就是让元素所属的类实现Comparable接口,重写compareTo(T o)方法

                                 如果该方法return的数大于0,则该元素往后排,小于0往前排,等于0认为相同,不被加入集合

                                 重写方法时,注意排序规则要按照主要规则和次要规则来写

         4  Comparator  用TreeSet集合存储自定义对象,带参构造方法使用比较器排序

                                  比较器排序,就是让集合构造方法接收Comparator的实现类对象,重写compare(T o1,T o2)方法

                                  重写方法时,注意排序规则要按照主要规则和次要规则来写

                                     TreeSet<Student> ts=new TreeSet<Student>(new Comparator<Student>(){

                                                       public int compare(Student s1,Student s2){

                                                                    int num=s1.getAge()-s2.getAge();

                                                                     int num2=num==0?s1.getName().compare(s2.getName()):name;

                                                                       return num2;

                                                                             }

                                                                               });

上一篇:集合类 Set


下一篇:TreeSet的简单介绍与使用方法