Share via


HashSet 類別

定義

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。

[Android.Runtime.Register("java/util/HashSet", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class HashSet : Java.Util.AbstractSet, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.ICloneable
[<Android.Runtime.Register("java/util/HashSet", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type HashSet = class
    inherit AbstractSet
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ICloneable
    interface ISet
    interface ICollection
    interface IIterable
繼承
衍生
屬性
實作

備註

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。 它不保證集合的反復專案順序;特別是,它不保證順序會隨著時間維持不變。 這個類別允許 null 專案。

這個類別會提供基本作業的固定時間效能, (addremovecontainssize) ,假設雜湊函式在貯體之間適當分散元素。 逐一查看此集合需要與實例大小總 HashSet 和成正比的時間, () 加上備份 HashMap 實例的「容量」, () 值區數目。 因此,如果反復專案效能很重要,請務必不要將初始容量設定為太高 (或負載因數太低) 。

<強 > 請注意,此實作不會同步處理。 </strong > 如果多個執行緒同時存取雜湊集,而且至少有一個執行緒修改了集合, 則必須 在外部同步處理。 這通常是藉由在自然封裝集合的某些物件上進行同步處理來完成。

如果不存在這類物件,應該使用 Collections#synchronizedSet Collections.synchronizedSet 方法「包裝」集合。 這最好是在建立時完成,以避免意外未同步存取集合:

Set s = Collections.synchronizedSet(new HashSet(...));

這個類別的 iterator 方法所傳回的反覆運算器是 快速的:如果在建立反覆運算器之後隨時修改集合,除了透過反覆運算器自己的 remove 方法以外,Iterator 會擲回 ConcurrentModificationException 。 因此,在同時修改時,反覆運算器會快速且清楚地失敗,而不是在未來不具決定性的不具決定性行為上風險。

請注意,反覆運算器的失敗快速行為無法保證,一般而言,不可能在未同步處理並行修改的情況下進行任何硬式保證。 以最佳方式擲回 ConcurrentModificationException 快速反覆運算器。 因此,撰寫相依于此例外狀況的程式是否正確性是錯誤的: 反覆運算器的失敗快速行為應該只用來偵測錯誤。

這個類別是 JAVA Collections Framework的成員。

已在 1.2 中新增。

java.util.HashSet JAVA 檔。

此頁面的部分是根據所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。

建構函式

HashSet()

建構新的空白集合;備份 HashMap 實例的預設初始容量 (16) 和負載因數 (0。

HashSet(ICollection)

建構新的集合,其中包含指定集合中的專案。

HashSet(Int32)

建構新的空白集合;備份 HashMap 實例具有指定的初始容量和預設負載因數 (0。

HashSet(Int32, Single)

建構新的空白集合;備份 HashMap 實例具有指定的初始容量和指定的負載因數。

HashSet(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 標記法時使用的建構函式;由執行時間呼叫。

屬性

Class

傳回這個 Object 的執行時間類別。

(繼承來源 Object)
Handle

基礎 Android 實例的控制碼。

(繼承來源 Object)
IsEmpty

要新增

(繼承來源 AbstractCollection)
JniIdentityHashCode

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。

(繼承來源 Object)
JniPeerMembers

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。

PeerReference

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。

(繼承來源 Object)
ThresholdClass

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

ThresholdType

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

方法

Add(Object)

要新增

(繼承來源 AbstractCollection)
AddAll(ICollection)

要新增

(繼承來源 AbstractCollection)
Clear()

要新增

(繼承來源 AbstractCollection)
Clone()

傳回這個 HashSet 實例的淺層複本:不會複製元素本身。

Contains(Object)

要新增

(繼承來源 AbstractCollection)
ContainsAll(ICollection)

要新增

(繼承來源 AbstractCollection)
Dispose()

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。

(繼承來源 Object)
Dispose(Boolean)

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。

(繼承來源 Object)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
Iterator()

傳回這個集合中元素的反覆運算器。

JavaFinalize()

當垃圾收集判斷物件不再參考物件時,垃圾收集行程會在物件上呼叫。

(繼承來源 Object)
Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
Remove(Object)

要新增

(繼承來源 AbstractCollection)
RemoveAll(ICollection)

要新增

(繼承來源 AbstractCollection)
RetainAll(ICollection)

要新增

(繼承來源 AbstractCollection)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
Size()

傳回此集合中的專案數, (其基數) 。

Spliterator()

<建立 em > 晚期繫結 < /em > 和 < em > 在此集合中的元素上快速/ < em >Spliterator 失敗。

ToArray()

要新增

(繼承來源 AbstractCollection)
ToArray(Object[])

要新增

(繼承來源 AbstractCollection)
ToArray<T>()

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。

(繼承來源 Object)
Wait()

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > 。 ><

(繼承來源 Object)
Wait(Int64)

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)

明確介面實作

IJavaPeerable.Disposed()

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。

(繼承來源 Object)
IJavaPeerable.Finalized()

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。

(繼承來源 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。

(繼承來源 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。

(繼承來源 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。

GetJniTypeName(IJavaPeerable)

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。

ToEnumerable(IIterable)

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。

ToEnumerable<T>(IIterable)

這個類別會實作 Set 介面,該介面是由雜湊表所支援, (實際上是 HashMap 實例) 。

適用於