HashSet

方法封裝(Alt+Shift + M)

//創建集合

//HashSetH=new HashSet();

Set

set=new HashSet();//父接口引用子類

//添加元素

set.add("Holl");

set.add("Java");

//遍歷集合1.

//????????IteratorIt=set.iterator();

//????????while(It.hasNext()){

//????????????????????????System.out.println(It.next());

//????????????????}

//轉數組2.

//????????????????Object[] orr=set.toArray();

//????????????????for(int i = 0; i < orr.length; i++) {

//????????????????????????System.out.println(orr[i]);

//????????????????}

//foreach3.

for(String string : set) {

System.out.println(string);

}

Set集合的特點

無序(存儲和讀取的順序有可能不一樣)

不允許重復的元素!(唯一)

直接打印類對象,打印的是tostring()方法

//根據添加新元素的hashcode()返回值計算出hash值

??hashset的add()方法不能去重的原因

HashSet的add()方法,首先會使用當前集合中的每一個元素和新添加的元素進行Hash值比較

如果hash值不一樣,則直接添加新的元素

如果hash值一樣,比較地址值,或者使用equlas方法進行比較.

比較結果一樣,則認為是重復不添加

所有的比較結果不一樣則添加

(因為自定義對象存的是地址:所以不一樣)

Collections:

面試題:

Collection和Collections有什么區別

Collenction是集合體現的最頂層,包含了集合體系的共性

Collections是一個工具類,所有的方法都是static的.方法就是用于操作Collection

·Static

int binarySearch(List list,T key)使用二分查找指定元素在指定列表的索引位置

List集合只能存對象

·static void copy(List dest,list src):把原列表中的數據覆蓋到目標列表

注意:被覆蓋的列表長度要大于等于原列表的長度

·Staticvoid fill(List list,object obj)

o使用指定的對象填充指定列表的所有元素!(一鍵修改所有元素)

·Static

void reverse(List list) //反轉

·Static

void shuffle(List list)傻否,隨機置換;

·Static

void sort (List list)升序

·Static

void swap(Lit s list ,int I,int j);將指定列表中的兩個索引進行置換

fonU?????

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容