Java HashSet 類



簡介

Java HashSet 類實現了 Set 介面,底層使用雜湊表。以下是關於 HashSet 的重要要點:

  • 此類不保證集合的迭代順序;特別是,它不保證順序隨時間保持不變。

  • 此類允許 null 元素。

類宣告

以下是 java.util.HashSet 類的宣告:

public class HashSet<E>
   extends AbstractSet<E>
   implements Set<E>, Cloneable, Serializable

引數

以下是 java.util.HashSet 類的引數:

E - 這是此集合維護的元素型別。

類建構函式

序號 建構函式及描述
1

HashSet()

這將構造一個新的空集合;底層 HashMap 例項具有預設的初始容量 (16) 和載入因子 (0.75)。

2

HashSet(Collection<? extends E> c)

這將構造一個新的集合,其中包含指定集合中的元素。

3

HashSet(int initialCapacity)

這將構造一個新的空集合;底層 HashMap 例項具有指定的初始容量和預設載入因子 (0.75)。

4

HashSet(int initialCapacity, float loadFactor)

這將構造一個新的空集合;底層 HashMap 例項具有指定的初始容量和指定的載入因子。

類方法

序號 方法及描述
1 boolean add(E e)

如果指定的元素不存在,此方法會將其新增到此集合中。

2 void clear()

此方法會移除此集合中的所有元素。

3 Object clone()

此方法會返回此 HashSet 例項的淺複製,元素本身不會被克隆。

4 boolean contains(Object o)

如果此集合包含指定的元素,則此方法返回 true。

5 boolean isEmpty()

如果此集合不包含任何元素,則此方法返回 true。

6 Iterator<E> iterator()

此方法會返回此集合中元素的迭代器。

7 boolean remove(Object o)

如果指定的元素存在,此方法會將其從此集合中移除。

8 int size()

此方法返回此集合中元素的數量(其基數)。

9 Spliterator<E> spliterator()

此方法會返回此集合中元素的延遲繫結且快速失敗的 Spliterator。

繼承的方法

此類繼承自以下類的方法:

  • java.util.AbstractSet
  • java.util.AbstractCollection
  • java.util.Object
  • java.util.Set

向 HashSet 新增元素的示例

以下示例演示瞭如何使用 Java HashSet 的 add() 方法向 HashSet 新增條目。我們建立了一個 Integer 型別的 HashSet 物件。然後使用 add() 方法添加了一些條目,最後列印了集合。

package com.tutorialspoint;

import java.util.HashSet;

public class HashSetDemo {
   public static void main(String args[]) {
      
      // create hash set
      HashSet <Integer> newset = new HashSet <>();

      // populate hash set
      newset.add(1); 
      newset.add(2);
      newset.add(3);  

      // checking elements in hash set
      System.out.println("Hash set values: "+ newset);
   }    
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果。

Hash set values: [1, 2, 3]
廣告