Condividi tramite


CopyOnWriteArrayList Classe

Definizione

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

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

Commenti

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

Questo è normalmente troppo costoso, ma può essere <><più efficiente di em/em> rispetto alle alternative quando le operazioni di attraversamento di grandi quantità di mutazioni outnumber, ed è utile quando non è possibile o non si vuole sincronizzare gli attraversamenti, ma è necessario impedire l'interferenza tra i thread simultanei. Il metodo iteratore di stile "snapshot" usa un riferimento allo stato della matrice nel punto in cui è stato creato l'iteratore. Questa matrice non cambia mai durante la durata dell'iteratore, quindi l'interferenza è impossibile e l'iteratore è garantito non generare ConcurrentModificationException. L'iteratore non rifletterà aggiunte, rimozione o modifiche all'elenco dopo la creazione dell'iteratore. Le operazioni di modifica degli elementi sui iteratori stessi (remove, sete ) addnon sono supportate. Questi metodi generano UnsupportedOperationException.

Tutti gli elementi sono consentiti, tra cui null.

Effetti di coerenza della memoria: come per altre raccolte simultanee, azioni in un thread prima di inserire un oggetto in un'azione CopyOnWriteArrayList<i before</i>> successive all'accesso CopyOnWriteArrayList o alla rimozione di tale elemento da un altro thread.

Questa classe è un membro di Java Collections Framework.

Aggiunto nella versione 1.5.

Documentazione Java per java.util.concurrent.CopyOnWriteArrayList.

Le parti di questa pagina sono modifiche in base al lavoro creato e condiviso dal Android Open Source e usato in base ai termini descritti nella .

Costruttori

CopyOnWriteArrayList()

Crea un elenco vuoto.

CopyOnWriteArrayList(ICollection)

Crea un elenco contenente gli elementi della raccolta specificata, nell'ordine restituito dall'iteratore dell'insieme.

CopyOnWriteArrayList(IntPtr, JniHandleOwnership)

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

CopyOnWriteArrayList(Object[])

Crea un elenco che contiene una copia della matrice specificata.

Proprietà

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle all'istanza di Android sottostante.

(Ereditato da Object)
IsEmpty

Restituisce true se questo elenco non contiene elementi.

JniIdentityHashCode

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

(Ereditato da Object)
JniPeerMembers

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

PeerReference

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

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

Inserisce l'elemento specificato nella posizione specificata in questo elenco.

Add(Object)

Aggiunge l'elemento specificato alla fine di questo elenco.

AddAll(ICollection)

Aggiunge tutti gli elementi nella raccolta specificata alla fine di questo elenco, nell'ordine restituito dall'iteratore dell'insieme specificato.

AddAll(Int32, ICollection)

Inserisce tutti gli elementi nella raccolta specificata in questo elenco, a partire dalla posizione specificata.

AddAllAbsent(ICollection)

Aggiunge tutti gli elementi nell'insieme specificato che non sono già contenuti in questo elenco, alla fine di questo elenco, nell'ordine restituito dall'iteratore dell'insieme specificato.

AddIfAbsent(Object)

Aggiunge l'elemento, se non presente.

Clear()

Rimuove tutti gli elementi da questo elenco.

Clone()

Restituisce una copia superficiale di questo elenco.

Contains(Object)

Restituisce true se questo elenco contiene l'elemento specificato.

ContainsAll(ICollection)

Restituisce true se questo elenco contiene tutti gli elementi della raccolta specificata.

Dispose()

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

(Ereditato da Object)
Dispose(Boolean)

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

(Ereditato da Object)
Equals(Object)

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

(Ereditato da Object)
ForEach(IConsumer)

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

Get(Int32)

Da aggiungere

GetHashCode()

Restituisce un valore del codice hash per l'oggetto.

(Ereditato da Object)
IndexOf(Object)

Da aggiungere

IndexOf(Object, Int32)

Restituisce l'indice della prima occorrenza dell'elemento specificato in questo elenco, la ricerca in avanti da indexo restituisce -1 se l'elemento non viene trovato.

Iterator()

Restituisce un iteratore sugli elementi di questo elenco nella sequenza corretta.

JavaFinalize()

Chiamato dal Garbage Collector in un oggetto quando Garbage Collection determina che non sono presenti più riferimenti all'oggetto.

(Ereditato da Object)
LastIndexOf(Object)

Da aggiungere

LastIndexOf(Object, Int32)

Restituisce l'indice dell'ultima occorrenza dell'elemento specificato in questo elenco, cercando indietro da indexo restituisce -1 se l'elemento non viene trovato.

ListIterator()

Da aggiungere

ListIterator(Int32)

Da aggiungere

Notify()

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

(Ereditato da Object)
NotifyAll()

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

(Ereditato da Object)
Remove(Int32)

Rimuove l'elemento nella posizione specificata in questo elenco.

Remove(Object)

Rimuove la prima occorrenza dell'elemento specificato da questo elenco, se presente.

RemoveAll(ICollection)

Rimuove da questo elenco tutti gli elementi contenuti nell'insieme specificato.

RemoveIf(IPredicate)

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

ReplaceAll(IUnaryOperator)

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

RetainAll(ICollection)

Mantiene solo gli elementi di questo elenco contenuti nell'insieme specificato.

Set(Int32, Object)

Sostituisce l'elemento nella posizione specificata in questo elenco con l'elemento specificato.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
Size()

Restituisce il numero di elementi in questo elenco.

Sort(IComparator)

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

Spliterator()

Restituisce un Spliterator oggetto sugli elementi di questo elenco.

SubList(Int32, Int32)

Restituisce una visualizzazione della parte di questo elenco tra fromIndex, inclusivo e toIndex, esclusivo.

ToArray()

Restituisce una matrice contenente tutti gli elementi di questo elenco nella sequenza corretta (dal primo all'ultimo elemento).

ToArray(Object[])

Restituisce una matrice contenente tutti gli elementi di questo elenco nella sequenza corretta (dal primo all'ultimo elemento); il tipo di runtime della matrice restituita è quello della matrice specificata.

ToArray<T>()

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione in formato stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

(Ereditato da Object)
Wait()

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere eseguendo>una notifica</em o <em interrotto</>em>>.<

(Ereditato da Object)
Wait(Int64)

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo 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)

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo 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()

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

(Ereditato da Object)
IJavaPeerable.Finalized()

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione dei tipi controllati dal runtime Android.

JavaCast<TResult>(IJavaObject)

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

GetJniTypeName(IJavaPeerable)

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

ToEnumerable(IIterable)

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

ToEnumerable<T>(IIterable)

Una variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate eseguendo una nuova copia della matrice sottostante.

Si applica a