Set集合是由一串無序的、不能重複的相同型別元素構成的集合,因為儲存資料的時候要先判斷其元素的hashCode值,不一樣再儲存。
1)Set集合是Collection集合的子類別。
2)不包含重複的元素的集合。
3)沒有索引的方法,所以不能用普通的for迴圈來遍歷。
add(Object element) :在Set集合的尾端加入指定的元素。
remove(Object element) :如果Set集合中存在指定元素,則從Set集合中移除該元素。
clear() :從Set集合中移除所有元素。
isEmpty() :判斷Set集合中是否有元素。沒有回傳true,有回傳false。
contains(Object element) :判斷Set集合中是否包含指定元素,包含傳回true,不包含回傳false。
iterator() :傳回迭代器(Iterator)對象,迭代器物件用於遍歷集合。
size() :傳回Set集合中的元素數,傳回值是int型別。
例如:
importjava.util.HashSet;importjava.util.Set;publicclassMain{publicstaticvoidmain(String[]args){Setset=newHashSet();Stringb=B;//向集合新增元素set.add(A);set.add( b);set.add(C);set.add(b);set.add(D);set.add(b);set.add(E);//列印集合元素個數System.out.println (集合size=+set.size());//列印集合System.out.println(set);//移出集合中第一個「B」元素set.remove(b);//判斷集合中是否包含「B」元素System.out.println(是否包含B:+set.contains(b));//判斷集合是否為空System.out.println(set集合是空的:+set.isEmpty( ));//清空集合set.clear();System.out.println(set);}}
運行結果如下:
集合size=5[A,b,C,D,E]是否包含B:falseset集合是空的:false[]
雜湊值是JDK根據u第項的位址或數字運算出來的int類別的數值,Object類別中有一個方式可以取得雜湊值,public int hashCode();傳回雜湊值。
物件哈希值的特性如下:
1)同一個物件多次呼叫和hashCode()方法傳回的雜湊值是相同的。
2)預設情況下,不同物件的雜湊值是不同的,但可以透過重寫hashCode方法使得雜湊值相同。
注意:有不一樣的字串的雜湊值也有一樣,因為String重寫了hashCode方法,例如“重地”和“通話”,雜湊值都是1179395。