1:hashset雜湊表儲存底層**
2:list與set判斷重複物件的區別
3:集合框架treeset:的自然排序、比較器排序
一般來說:set是無序的(無下標),但是jdk1.8版本已經可以排序
1:hashset雜湊表儲存底層**
set:會去除重複
資料結構是雜湊表
hashseths = new hashset<>();
hs.add("xiaohau");
hs.add("xiaocao");
hs.add("xiaohau");
hs.add("nanna");
3:list與set判斷重複物件的區別//set對於的於list的不同 他去重複是依照位址
//list是利用contains和 equals 對比判斷去重複
hs.add("xiaohau");
hs.add("xiaocao");
hs.add("xiaohau");
hs.add("nanna");
//list去重複
arraylist singlelist= singlelist(list);
iterator it = list.iterator();
while(it.hasnext())
public static arraylist singlelist(arraylist list)
} return newal;
} @override //如果有重複則去除重複
public boolean equals(object obj)
return false;
}@override //重寫
public string tostring()
3:集合框架treeset:的自然排序、比較器排序
如何實現comparator(比較器)和comparable(自然排序介面)方法
comparable自然排序介面的用途?
使新增的元素自身具備排序規則,這種排序規則又被稱為自然排序
比較器 :comparator介面
作用:使容器具有比較性
comparable(自然排序介面)
treeset hs = new treeset<>(new comparat());
hs.add("xiaohau");
hs.add("xiaocao");
hs.add("xiaohau");
hs.add("nanna");
//如果增加的為物件(實體類) 不實現介面就會報錯
hs.add(new student("xiaohua","女",56));//根據路徑
hs.add(new student("xiaocao","男",54));
hs.add(new student("xiaohudai","男",23));
hs.add(new student("lvmaozi","男",12));
public int compareto(person o)
return num;
}
comparator(比較器介面)
class presoncomp implements comparator
return num;
}}
集合框架Set
元素是無序 存入和取出的順序不一定一致 元素不可以重複 hashset雜湊表儲存 底層資料結構是雜湊表 1.1hashset的元素不可重複 hashset元素是不可重複的,針對於基本資料型別以及string,引用資料型別 物件 去重需要重寫hashcode方法以及equals方法 論證 1.2has...
集合框架之 set集合
物件重複是指物件裡面的變數的值都相等,並不定是位址。list集合儲存的型別是基礎型別還比較好辦,直接把list集合轉換成set集合就會自動去除。當set集合儲存的是物件型別時,需要在物件的實體類裡面重寫public boolean equals object obj 和 public int has...
集合框架 List與Set
所有的集合框架並不存放真正的物件,而是持有物件的引用 list與set都繼承自collection list的實現類 arraylist,linklist,vector set的實現類 hashset,linkedhashset,sortset 介面 treeset 實現sortset 首先介紹一下...