Condividi tramite


HashSet Classe

Definizione

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza 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
Ereditarietà
Derivato
Attributi
Implementazioni

Commenti

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza HashMap ). Non garantisce l'ordine di iterazione del set; in particolare, non garantisce che l'ordine rimarrà costante nel tempo. Questa classe consente l'elemento null .

Questa classe offre prestazioni temporali costanti per le operazioni di base (add, removee containssize), presupponendo che la funzione hash disperdere correttamente gli elementi tra i bucket. L'iterazione su questo set richiede tempo proporzionale alla somma delle dimensioni dell'istanza HashSet (il numero di elementi) più la "capacità" dell'istanza di backup HashMap (il numero di bucket). Pertanto, è molto importante non impostare la capacità iniziale troppo elevata (o il fattore di carico troppo basso) se le prestazioni di iterazione sono importanti.

<si>noti che questa implementazione non è sincronizzata.</strong> Se più thread accedono contemporaneamente a un set di hash e almeno uno dei thread modifica il set, deve essere sincronizzato esternamente. Questa operazione viene in genere eseguita sincronizzando su un oggetto che incapsula naturalmente il set.

Se non esiste alcun oggetto di questo tipo, il set deve essere "sottoposto a wrapping" usando il Collections#synchronizedSet Collections.synchronizedSet metodo . Questa operazione viene eseguita al momento della creazione per evitare l'accesso accidentale non sincronizzato al set:

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

Gli iteratori restituiti dal metodo di iterator questa classe sono di tipo fail-fast: se il set viene modificato in qualsiasi momento dopo la creazione dell'iteratore, ad eccezione del metodo dell'iteratore, remove l'iteratore genera un'eccezione ConcurrentModificationException. Di conseguenza, in presenza di modifiche simultanee, l'iteratore ha esito negativo rapidamente e pulito, anziché rischiare un comportamento arbitrario non deterministico in un momento indeterminato in futuro.

Si noti che il comportamento rapido di errore di un iteratore non può essere garantito così com'è, in generale, impossibile rendere eventuali garanzie difficili in presenza di modifiche simultanee non sincronizzate. Gli iteratori veloci a errori generano ConcurrentModificationException un'operazione ottimale. Pertanto, sarebbe sbagliato scrivere un programma che dipende da questa eccezione per la correttezza: il comportamento rapido degli iteratori deve essere usato solo per rilevare i bug.

Questa classe è un membro di Java Collections Framework.

Aggiunta nella versione 1.2.

Documentazione java per java.util.HashSet.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Costruttori

HashSet()

Costruisce un nuovo set vuoto; L'istanza di HashMap backup ha la capacità iniziale predefinita (16) e il fattore di carico (0).

HashSet(ICollection)

Costruisce un nuovo set contenente gli elementi nella raccolta specificata.

HashSet(Int32)

Costruisce un nuovo set vuoto; L'istanza di HashMap backup ha la capacità iniziale specificata e il fattore di carico predefinito (0.

HashSet(Int32, Single)

Costruisce un nuovo set vuoto; L'istanza di HashMap backup ha la capacità iniziale specificata e il fattore di carico specificato.

HashSet(IntPtr, JniHandleOwnership)

Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime.

Proprietà

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
IsEmpty

Da aggiungere

(Ereditato da AbstractCollection)
JniIdentityHashCode

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza HashMap ).

(Ereditato da Object)
JniPeerMembers

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza HashMap ).

PeerReference

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza HashMap ).

(Ereditato da Object)
ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

Metodi

Add(Object)

Da aggiungere

(Ereditato da AbstractCollection)
AddAll(ICollection)

Da aggiungere

(Ereditato da AbstractCollection)
Clear()

Da aggiungere

(Ereditato da AbstractCollection)
Clone()

Restituisce una copia superficiale di questa HashSet istanza: gli elementi stessi non vengono clonati.

Contains(Object)

Da aggiungere

(Ereditato da AbstractCollection)
ContainsAll(ICollection)

Da aggiungere

(Ereditato da AbstractCollection)
Dispose()

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza HashMap ).

(Ereditato da Object)
Dispose(Boolean)

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza HashMap ).

(Ereditato da Object)
Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
GetHashCode()

Restituisce un valore del codice hash per l'oggetto.

(Ereditato da Object)
Iterator()

Restituisce un iteratore sugli elementi di questo set.

JavaFinalize()

Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto .

(Ereditato da Object)
Notify()

Riattiva un singolo thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
Remove(Object)

Da aggiungere

(Ereditato da AbstractCollection)
RemoveAll(ICollection)

Da aggiungere

(Ereditato da AbstractCollection)
RetainAll(ICollection)

Da aggiungere

(Ereditato da AbstractCollection)
SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
Size()

Restituisce il numero di elementi in questo set (cardinalità).

Spliterator()

Crea un <em>late-binding</em> e <em>fail-fast</em>Spliterator sugli elementi in questo set.

ToArray()

Da aggiungere

(Ereditato da AbstractCollection)
ToArray(Object[])

Da aggiungere

(Ereditato da AbstractCollection)
ToArray<T>()

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza HashMap ).

(Ereditato da Object)
ToString()

Restituisce una rappresentazione di stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza HashMap ).

(Ereditato da Object)
Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64, Int32)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IJavaPeerable.Disposed()

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza HashMap ).

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza HashMap ).

(Ereditato da Object)
IJavaPeerable.Finalized()

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza HashMap ).

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza HashMap ).

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza HashMap ).

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza HashMap ).

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza HashMap ).

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza HashMap ).

GetJniTypeName(IJavaPeerable)

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza HashMap ).

ToEnumerable(IIterable)

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza HashMap ).

ToEnumerable<T>(IIterable)

Questa classe implementa l'interfaccia Set supportata da una tabella hash (in realtà un'istanza HashMap ).

Si applica a