位置:首頁 > Java技術 > Java教學 > Java HashSet類

Java HashSet類

HashSet擴展AbstractSet和實現Set接口。它創建一個使用一個哈希表進行存儲的集合。

哈希表通過使用一種稱為哈希機製存儲信息。在散列法中,鍵的信息內容是用來確定一個唯一的值,稱為它的散列碼。

散列碼,用作在其中與該鍵相關聯的數據被存儲在索引中。鍵轉化為它的哈希碼是自動進行的。

HashSet類支持四個構造函數。第一種形式構造一個默認的哈希集合:

HashSet( )

下麵的構造形式初始化哈希使用c的元素集。

HashSet(Collection c)

下麵的構造形式初始化哈希設置為能力的能力。

容量自動成長作為元素被添加到哈希。

HashSet(int capacity)

第四種形式初始化哈希從它的參數設置的兩個容量和填充比(也稱為負載容量):

HashSet(int capacity, float fillRatio)

此處的填充比例必須在0.0〜1.0之間,它決定如何充分散列集可以是之前它被向上調整大小。具體而言,當元件的數目大於所述散列集乘以它的填充比率的容量,散列組已展開。

除了從它的父類繼承的方法,HashSet的定義如下方法:

SN 方法及描述
1 boolean add(Object o) 
將指定的元素添加到此集合,如果它是不存在的。
2 void clear() 
刪除所有從這個集合中的元素。
3 Object clone() 
返回此HashSet實例的淺表副本:本身不被複製的元素。
4 boolean contains(Object o)
如果此set包含指定的元素,則返回true
5 boolean isEmpty() 
返回true如果此set不包含任何元素。
6 Iterator iterator() 
返回一個迭代器在此set的元素。
7 boolean remove(Object o) 
從集合中刪除指定的元素(如果存在)。
8 int 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);
   }
}

這將產生以下結果:

[D, E, F, A, B, C]