CopyOnWriteArrayList Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Una variante segura para subprocesos de java.util.ArrayList en la que todas las operaciones mutativas (add, set, etc.) se implementan realizando una nueva copia de la matriz subyacente.
[Android.Runtime.Register("java/util/concurrent/CopyOnWriteArrayList", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class CopyOnWriteArrayList : Java.Lang.Object, IDisposable, 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 ISequencedCollection
interface IRandomAccess
- Herencia
- Atributos
- Implementaciones
Comentarios
Una variante segura para subprocesos de java.util.ArrayList en la que todas las operaciones mutativas (add, set, etc.) se implementan realizando una nueva copia de la matriz subyacente.
Esto suele ser demasiado costoso, pero puede ser <>más</em> eficiente que alternativas cuando las operaciones transversales superan enormemente las mutaciones de número, y es útil cuando no se puede o no desea sincronizar recorridos, pero es necesario impedir la interferencia entre subprocesos simultáneos. El método iterador de estilo "snapshot" usa una referencia al estado de la matriz en el punto en el que se creó el iterador. Esta matriz nunca cambia durante la vigencia del iterador, por lo que la interferencia es imposible y se garantiza que el iterador no inicie ConcurrentModificationException. El iterador no reflejará adiciones, eliminaciones ni cambios en la lista desde que se creó el iterador. No se admiten las operaciones de cambio de elementos en los propios iteradores (remove, sety add). Estos métodos inician UnsupportedOperationException.
Se permiten todos los elementos, incluido null.
Efectos de coherencia de memoria: al igual que con otras colecciones simultáneas, las acciones de un subproceso antes de colocar un objeto en una CopyOnWriteArrayList<acción i>before</i> posterior al acceso o eliminación de ese elemento de CopyOnWriteArrayList en otro subproceso.
Esta clase es miembro del marco de colecciones de Java.
Agregado en 1.5.
Java documentación para java.util.concurrent.CopyOnWriteArrayList.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Constructores
| Nombre | Description |
|---|---|
| CopyOnWriteArrayList() |
Crea una lista vacía. |
| CopyOnWriteArrayList(ICollection) |
Crea una lista que contiene los elementos de la colección especificada, en el orden en que se devuelven mediante el iterador de la colección. |
| CopyOnWriteArrayList(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
| CopyOnWriteArrayList(Object[]) |
Crea una lista que contiene una copia de la matriz especificada. |
Propiedades
| Nombre | Description |
|---|---|
| Class |
Devuelve la clase en tiempo de ejecución de este |
| First |
Por agregar |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| IsEmpty |
Devuelve |
| JniIdentityHashCode |
Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| JniManagedPeerState |
Una variante segura para subprocesos de |
| JniPeerMembers |
Una variante segura para subprocesos de |
| Last |
Por agregar |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (Heredado de Object) |
| ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
| ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
Métodos
| Nombre | Description |
|---|---|
| Add(Int32, Object) |
Inserta el elemento especificado en la posición especificada de esta lista. |
| Add(Object) |
Anexa el elemento especificado al final de esta lista. |
| AddAll(ICollection) |
Anexa todos los elementos de la colección especificada al final de esta lista, en el orden en que devuelven el iterador de la colección especificada. |
| AddAll(Int32, ICollection) |
Inserta todos los elementos de la colección especificada en esta lista, empezando por la posición especificada. |
| AddAllAbsent(ICollection) |
Anexa todos los elementos de la colección especificada que aún no están incluidos en esta lista, al final de esta lista, en el orden en que devuelven el iterador de la colección especificada. |
| AddFirst(Object) |
Por agregar |
| AddIfAbsent(Object) |
Anexa el elemento, si no está presente. |
| AddLast(Object) |
Por agregar |
| Clear() |
Quita todos los elementos de esta lista. |
| Clone() |
Devuelve una copia superficial de esta lista. |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Una variante segura para subprocesos de |
| Contains(Object) |
Devuelve |
| ContainsAll(ICollection) |
Devuelve |
| Dispose() |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dispose(Boolean) |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| DisposeUnlessReferenced() |
Una variante segura para subprocesos de |
| Equals(Object) |
Una variante segura para subprocesos de |
| Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
| ForEach(IConsumer) |
Una variante segura para subprocesos de |
| Get(Int32) |
Por agregar |
| GetHashCode() |
Devuelve un valor de código hash para el objeto . (Heredado de Object) |
| IndexOf(Object, Int32) |
Devuelve el índice de la primera aparición del elemento especificado en esta lista, la búsqueda de reenvíos desde |
| IndexOf(Object) |
Por agregar |
| Iterator() |
Devuelve un iterador sobre los elementos de esta lista en una secuencia adecuada. |
| JavaFinalize() |
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
| LastIndexOf(Object, Int32) |
Devuelve el índice de la última aparición del elemento especificado en esta lista, la búsqueda hacia atrás desde |
| LastIndexOf(Object) |
Por agregar |
| ListIterator() |
Por agregar |
| ListIterator(Int32) |
Por agregar |
| Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
| NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
| Remove(Int32) |
Quita el elemento en la posición especificada de esta lista. |
| Remove(Object) |
Quita la primera aparición del elemento especificado de esta lista, si está presente. |
| RemoveAll(ICollection) |
Quita de esta lista todos sus elementos contenidos en la colección especificada. |
| RemoveFirst() |
Por agregar |
| RemoveIf(IPredicate) |
Una variante segura para subprocesos de |
| RemoveLast() |
Por agregar |
| ReplaceAll(IUnaryOperator) |
Una variante segura para subprocesos de |
| RetainAll(ICollection) |
Conserva solo los elementos de esta lista que se encuentran en la colección especificada. |
| Reversed() |
Por agregar |
| Set(Int32, Object) |
Reemplaza el elemento en la posición especificada de esta lista por el elemento especificado. |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Una variante segura para subprocesos de |
| Size() |
Devuelve el número de elementos en esta lista. |
| Sort(IComparator) |
Una variante segura para subprocesos de |
| Spliterator() |
Devuelve un elemento |
| SubList(Int32, Int32) |
Devuelve una vista de la parte de esta lista entre |
| ToArray() |
Devuelve una matriz que contiene todos los elementos de esta lista en una secuencia adecuada (del primer al último elemento). |
| ToArray(Object[]) |
Devuelve una matriz que contiene todos los elementos de esta lista en una secuencia adecuada (del primer al último elemento); el tipo en tiempo de ejecución de la matriz devuelta es el de la matriz especificada. |
| ToArray<T>() |
Crea una matriz administrada a partir de este contenedor de matriz Java. (Heredado de Object) |
| ToString() |
Devuelve una representación de cadena del objeto . (Heredado de Object) |
| UnregisterFromRuntime() |
Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| Wait() |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><> (Heredado de Object) |
| Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
| Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IJavaPeerable.Disposed() |
Una variante segura para subprocesos de |
| IJavaPeerable.Finalized() |
Una variante segura para subprocesos de |
| IJavaPeerable.JniObjectReferenceControlBlock |
Una variante segura para subprocesos de |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Una variante segura para subprocesos de |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Una variante segura para subprocesos de |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Una variante segura para subprocesos de |
| IJavaPeerable.UnregisterFromRuntime() |
Una variante segura para subprocesos de |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
Una variante segura para subprocesos de |
| ToEnumerable(IIterable) |
Una variante segura para subprocesos de |
| ToEnumerable<T>(IIterable) |
Una variante segura para subprocesos de |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |