暑假學習記錄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;
}
});