1. 程式人生 > 其它 >暑假學習記錄23 Set集合,Comparable

暑假學習記錄23 Set集合,Comparable

(1)今天學習了LinkedHashSet,TreeSet集合,Comparable,Comparator
(2)明天學習泛型
(3) 1 LinkedHashSet特點 元素的儲存和取出順序一致,沒有重複的元素

2TreeSet特點 1 元素有序,不是指儲存和取出的順序,而是指按照一定的規則進行排序,具體排序方式取決於構造方法

TreeSet() 根據其元素的自然排序進行排序

TreeSet(Comparator comparator) 根據指定的比較器進行排序

2 沒有帶索引的方法,不能使用普通for迴圈遍歷

3 Comparable 用TreeSet集合儲存自定義物件,無參構造方法使用的是自然排序

自然排序就是讓元素所屬的類實現Comparable介面,重寫compareTo(T o)方法

如果該方法return的數大於0,則該元素往後排,小於0往前排,等於0認為相同,不被加入集合

重寫方法時,注意排序規則要按照主要規則和次要規則來寫

4Comparator用TreeSet集合儲存自定義物件,帶參構造方法使用比較器排序

比較器排序,就是讓集合構造方法接收Comparator的實現類物件,重寫compare(T o1,T o2)方法

重寫方法時,注意排序規則要按照主要規則和次要規則來寫

TreeSet<Student> ts=newTreeSet<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;

}

});