HashSet擴展AbstractSet并實現Set接口。它創建一個使用哈希表進行存儲的集合。
哈希表通過使用稱為哈希的機制來存儲信息。在散列中,鍵的信息內容用于確定唯一值,稱為其散列碼。
然后,將哈希碼用作存儲與鍵關聯的數據的索引。鍵到其哈希碼的轉換是自動執行的。
以下是HashSet類提供的構造函數的列表。序號構造函數與說明1HashSet()
該構造函數構造一個默認的HashSet。
2HashSet(Collection c)
此構造函數通過使用collection c的元素初始化哈希集。
3HashSet(int Capacity)
此構造函數將哈希集的容量初始化為給定的整數值容量。
隨著將元素添加到HashSet中,容量會自動增長。
4HashSet(int Capacity,float fillRatio)
此構造函數根據其參數初始化哈希集的容量和填充率(也稱為負載容量)。
此處的填充率必須在0.0到1.0之間,并且它確定哈希集在向上調整大小之前可以有多滿。具體來說,當元素的數量大于哈希集的容量乘以其填充率時,哈希集將被擴展。
除了從其父類繼承的方法之外,HashSet定義以下方法-序號方法與說明1boolean add(Object o)
如果指定的元素尚不存在,則將其添加到此集合中。
2void clear()
從此集合中刪除所有元素。
3Object clone()
返回此HashSet實例的淺表副本:元素本身未克隆。
4boolean contains(Object o)
如果此集合包含指定的元素,則返回true。
5boolean isEmpty()
如果此集合不包含任何元素,則返回true。
6Iterator iterator()
返回對此集合中的元素進行迭代的迭代器。
7boolean remove(Object o)
從該集合中移除指定的元素(如果存在)。
8int size()
返回此集合中的元素數(其基數)。
示例
以下程序說明了HashSet支持的幾種方法-import?java.util.*;
public?class?HashSetDemo?{
public?static?void?main(String?args[])?{
//?create?a?hash?set
HashSet?hs?=?new?HashSet();
//?add?elements?to?the?hash?set
hs.add("B");
hs.add("A");
hs.add("D");
hs.add("E");
hs.add("C");
hs.add("F");
System.out.println(hs);
}
}
這將產生以下結果-
輸出結果[A,?B,?C,?D,?E,?F]