CopyOnWriteArraySet Classe

Definizione

Oggetto Set che utilizza un oggetto interno CopyOnWriteArrayList per tutte le operazioni.

[Android.Runtime.Register("java/util/concurrent/CopyOnWriteArraySet", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class CopyOnWriteArraySet : Java.Util.AbstractSet, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable
[<Android.Runtime.Register("java/util/concurrent/CopyOnWriteArraySet", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type CopyOnWriteArraySet = class
    inherit AbstractSet
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Ereditarietà
Attributi
Implementazioni

Commenti

Oggetto Set che utilizza un oggetto interno CopyOnWriteArrayList per tutte le operazioni. Pertanto, condivide le stesse proprietà di base: <ul><li>È più adatto per le applicazioni in cui le dimensioni dei set in genere rimangono piccole e operazioni di sola lettura molto operazioni mutative in numero insufficiente e è necessario evitare interferenze tra i thread durante l'attraversamento. <li>È thread-safe. <Le operazioni mutative li>(add, set, e removecosì via) sono costose perché in genere comportano la copia dell'intera matrice sottostante. <Gli iteratori li>non supportano l'operazione mutativa remove . <li>Traversal via iteratori è veloce e non può incontrare interferenze da altri thread. Gli iteratori si basano su snapshot non modificabili della matrice al momento della costruzione degli iteratori. </ul>

<b>Esempio di utilizzo.</b> Lo schizzo di codice seguente usa un set di copia su scrittura per mantenere un set di oggetti gestore che eseguono alcune azioni sugli aggiornamenti dello stato.

{@code
            class Handler { void handle() { ... } }

            class X {
              private final CopyOnWriteArraySet<Handler> handlers
                = new CopyOnWriteArraySet<>();
              public void addHandler(Handler h) { handlers.add(h); }

              private long internalState;
              private synchronized void changeState() { internalState = ...; }

              public void update() {
                changeState();
                for (Handler handler : handlers)
                  handler.handle();
              }
            }}

Questa classe è un membro di Java Collections Framework.

Aggiunto nella versione 1.5.

per java.util.concurrent.CopyOnWriteArraySet.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Costruttori

Nome Descrizione
CopyOnWriteArraySet()

Crea un set vuoto.

CopyOnWriteArraySet(ICollection)

Crea un set contenente tutti gli elementi della raccolta specificata.

CopyOnWriteArraySet(IntPtr, JniHandleOwnership)

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

Proprietà

Nome Descrizione
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

Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità.

(Ereditato da Object)
JniPeerMembers

Oggetto Set che utilizza un oggetto interno CopyOnWriteArrayList per tutte le operazioni.

PeerReference

Ottiene il riferimento all'oggetto JNI per questo peer Java.

(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

Nome Descrizione
Add(Object)

Da aggiungere

(Ereditato da AbstractCollection)
AddAll(ICollection)

Da aggiungere

(Ereditato da AbstractCollection)
Clear()

Da aggiungere

(Ereditato da AbstractCollection)
Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
Contains(Object)

Da aggiungere

(Ereditato da AbstractCollection)
ContainsAll(ICollection)

Da aggiungere

(Ereditato da AbstractCollection)
Dispose()

Rilascia le risorse contenute in questo peer Java.

(Ereditato da Object)
Dispose(Boolean)

Rilascia le risorse contenute in questo peer Java.

(Ereditato da Object)
Equals(Object)

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

(Ereditato da Object)
ForEach(IConsumer)

Oggetto Set che utilizza un oggetto interno CopyOnWriteArrayList per tutte le operazioni.

GetHashCode()

Restituisce un valore di codice hash per l'oggetto .

(Ereditato da Object)
Iterator()

Restituisce un iteratore sugli elementi contenuti in questo set nell'ordine in cui sono stati aggiunti questi elementi.

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)
RemoveIf(IPredicate)

Oggetto Set che utilizza un oggetto interno CopyOnWriteArrayList per tutte le operazioni.

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.

Spliterator()

Restituisce un Spliterator oggetto sugli elementi di questo set nell'ordine in cui sono stati aggiunti questi elementi.

ToArray()

Da aggiungere

(Ereditato da AbstractCollection)
ToArray(Object[])

Da aggiungere

(Ereditato da AbstractCollection)
ToArray<T>()

Crea una matrice gestita da questo wrapper di matrice Java.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione di stringa dell'oggetto .

(Ereditato da Object)
UnregisterFromRuntime()

Annulla la registrazione di questo Java peer dal runtime di interoperabilità.

(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, 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)
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)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IJavaPeerable.Disposed()

Notifica al runtime di interoperabilità che il peer gestito è stato eliminato.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Rilascia questo Java peer a meno che non venga conservato da un altro riferimento gestito.

(Ereditato da Object)
IJavaPeerable.Finalized()

Notifica al runtime di interoperabilità che il peer gestito è stato finalizzato.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Ottiene lo stato che descrive la relazione tra questo peer gestito e il relativo riferimento JNI.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Imposta il codice hash dell'identità di interoperabilità per questo Java peer.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Imposta lo stato peer gestito e JNI per questo peer Java.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Imposta il riferimento all'oggetto JNI usato da questo peer gestito.

(Ereditato da Object)

Metodi di estensione

Nome Descrizione
GetJniTypeName(IJavaPeerable)

Ottiene il nome JNI del tipo dell'istanza selfdi .

JavaAs<TResult>(IJavaPeerable)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

Oggetto Set che utilizza un oggetto interno CopyOnWriteArrayList per tutte le operazioni.

ToEnumerable(IIterable)

Oggetto Set che utilizza un oggetto interno CopyOnWriteArrayList per tutte le operazioni.

ToEnumerable<T>(IIterable)

Oggetto Set che utilizza un oggetto interno CopyOnWriteArrayList per tutte le operazioni.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

Si applica a