CopyOnWriteArrayList Classe

Definizione

Variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate creando 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
[<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 ISequencedCollection
    interface IRandomAccess
Ereditarietà
CopyOnWriteArrayList
Attributi
Implementazioni

Commenti

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

Questo è in genere troppo costoso, ma può essere <><> più efficiente rispetto alle alternative quando le operazioni di attraversamento superano notevolmente le mutazioni in numero e è 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 di non generare ConcurrentModificationException. L'iteratore non riflette aggiunte, rimozioni o modifiche all'elenco dopo la creazione dell'iteratore. Le operazioni di modifica degli elementi sugli iteratori stessi (remove, sete add) non sono supportate. Questi metodi generano UnsupportedOperationException.

Tutti gli elementi sono consentiti, incluso null.

Effetti di coerenza della memoria: come con altre raccolte simultanee, le azioni in un thread prima di inserire un oggetto in un'azione CopyOnWriteArrayList<i-before></i> successive all'accesso o alla rimozione di tale elemento da CopyOnWriteArrayList in 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 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

Nome Descrizione
CopyOnWriteArrayList()

Crea un elenco vuoto.

CopyOnWriteArrayList(ICollection)

Crea un elenco contenente gli elementi della raccolta specificata, nell'ordine in cui vengono restituiti dall'iteratore della raccolta.

CopyOnWriteArrayList(IntPtr, JniHandleOwnership)

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

CopyOnWriteArrayList(Object[])

Crea un elenco contenente una copia della matrice specificata.

Proprietà

Nome Descrizione
Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
First

Da aggiungere

Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
IsEmpty

Restituisce true se l'elenco non contiene elementi.

JniIdentityHashCode

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

(Ereditato da Object)
JniPeerMembers

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

Last

Da aggiungere

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

Accoda tutti gli elementi dell'insieme specificato alla fine di questo elenco, nell'ordine in cui vengono restituiti 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)

Accoda tutti gli elementi della raccolta specificata che non sono già contenuti in questo elenco, alla fine di questo elenco, nell'ordine in cui vengono restituiti dall'iteratore dell'insieme specificato.

AddFirst(Object)

Da aggiungere

AddIfAbsent(Object)

Aggiunge l'elemento, se non presente.

AddLast(Object)

Da aggiungere

Clear()

Rimuove tutti gli elementi dall'elenco.

Clone()

Restituisce una copia superficiale dell'elenco.

Contains(Object)

Restituisce true se questo elenco contiene l'elemento specificato.

ContainsAll(ICollection)

Restituisce true se l'elenco contiene tutti gli elementi dell'insieme specificato.

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)

Variante thread-safe di java.util.ArrayList in cui tutte le operazioni mutative (add, sete così via) vengono implementate creando 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, 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.

IndexOf(Object)

Da aggiungere

Iterator()

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

JavaFinalize()

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

(Ereditato da Object)
LastIndexOf(Object, Int32)

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

LastIndexOf(Object)

Da aggiungere

ListIterator()

Da aggiungere

ListIterator(Int32)

Da aggiungere

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

Rimuove l'elemento in corrispondenza della posizione specificata in questo elenco.

Remove(Object)

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

RemoveAll(ICollection)

Rimuove dall'elenco tutti i relativi elementi contenuti nella raccolta specificata.

RemoveFirst()

Da aggiungere

RemoveIf(IPredicate)

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

RemoveLast()

Da aggiungere

ReplaceAll(IUnaryOperator)

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

RetainAll(ICollection)

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

Reversed()

Da aggiungere

Set(Int32, Object)

Sostituisce l'elemento in corrispondenza della 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 nell'elenco.

Sort(IComparator)

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

Spliterator()

Restituisce un Spliterator oggetto sugli elementi dell'elenco.

SubList(Int32, Int32)

Restituisce una visualizzazione della parte di questo elenco tra fromIndex, inclusi e toIndex, esclusivi.

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

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)

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

ToEnumerable(IIterable)

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

ToEnumerable<T>(IIterable)

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

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

Si applica a