CopyOnWriteArrayList Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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 |
| First |
Da aggiungere |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| IsEmpty |
Restituisce |
| JniIdentityHashCode |
Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| JniPeerMembers |
Variante thread-safe di |
| 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 |
| ContainsAll(ICollection) |
Restituisce |
| 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 |
| 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 |
| 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 |
| 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 |
| RemoveLast() |
Da aggiungere |
| ReplaceAll(IUnaryOperator) |
Variante thread-safe di |
| 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 |
| Spliterator() |
Restituisce un |
| SubList(Int32, Int32) |
Restituisce una visualizzazione della parte di questo elenco tra |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Variante thread-safe di |
| ToEnumerable(IIterable) |
Variante thread-safe di |
| ToEnumerable<T>(IIterable) |
Variante thread-safe di |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |