CopyOnWriteArraySet 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í.
que Set
usa un elemento interno CopyOnWriteArrayList
para todas sus operaciones.
[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
- Herencia
- Atributos
- Implementaciones
Comentarios
que Set
usa un elemento interno CopyOnWriteArrayList
para todas sus operaciones. Por lo tanto, comparte las mismas propiedades básicas: <ul><li>Es más adecuado para las aplicaciones en las que los tamaños establecidos por lo general permanecen pequeñas y de solo lectura operaciones mutativas de gran cantidad y necesita evitar interferencias entre subprocesos durante el recorrido. <li>Es seguro para subprocesos. <Las operaciones li>Mutative (add
, set
, remove
, etc.) son costosas, ya que normalmente implican copiar toda la matriz subyacente. <li>Iterators no admiten la operación mutativa remove
. <li>Traversal a través de iteradores es rápido y no puede encontrar interferencias de otros subprocesos. Los iteradores se basan en instantáneas inmutables de la matriz en el momento en que se construyeron los iteradores. </ul>
<b>Uso de ejemplo.</b> El siguiente boceto de código usa un conjunto de copia en escritura para mantener un conjunto de objetos Handler que realizan alguna acción tras las actualizaciones de estado.
{@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();
}
}}
Esta clase es miembro de Java Collections Framework.
Agregado en 1.5.
Documentación de Java para java.util.concurrent.CopyOnWriteArraySet
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Constructores
CopyOnWriteArraySet() |
Crea un conjunto vacío. |
CopyOnWriteArraySet(ICollection) |
Crea un conjunto que contiene todos los elementos de la colección especificada. |
CopyOnWriteArraySet(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
Propiedades
Class |
Devuelve la clase en tiempo de ejecución de este |
Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
IsEmpty |
Para agregar (Heredado de AbstractCollection) |
JniIdentityHashCode |
que |
JniPeerMembers |
que |
PeerReference |
que |
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
Add(Object) |
Para agregar (Heredado de AbstractCollection) |
AddAll(ICollection) |
Para agregar (Heredado de AbstractCollection) |
Clear() |
Para agregar (Heredado de AbstractCollection) |
Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
Contains(Object) |
Para agregar (Heredado de AbstractCollection) |
ContainsAll(ICollection) |
Para agregar (Heredado de AbstractCollection) |
Dispose() |
que |
Dispose(Boolean) |
que |
Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
ForEach(IConsumer) |
que |
GetHashCode() |
Devuelve un valor de código hash del objeto. (Heredado de Object) |
Iterator() |
Devuelve un iterador sobre los elementos contenidos en este conjunto en el orden en que se agregaron estos elementos. |
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) |
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(Object) |
Para agregar (Heredado de AbstractCollection) |
RemoveAll(ICollection) |
Para agregar (Heredado de AbstractCollection) |
RemoveIf(IPredicate) |
que |
RetainAll(ICollection) |
Para agregar (Heredado de AbstractCollection) |
SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
Size() |
Devuelve el número de elementos de este conjunto. |
Spliterator() |
Devuelve un |
ToArray() |
Para agregar (Heredado de AbstractCollection) |
ToArray(Object[]) |
Para agregar (Heredado de AbstractCollection) |
ToArray<T>() |
que |
ToString() |
Devuelve una representación de cadena del objeto. (Heredado de Object) |
UnregisterFromRuntime() |
que |
Wait() |
Hace que el subproceso actual espere hasta que se despierta, normalmente por ser em notificado/em> o <em>interrumpido</em>.<>< (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) |
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) |
Implementaciones de interfaz explícitas
IJavaPeerable.Disposed() |
que |
IJavaPeerable.DisposeUnlessReferenced() |
que |
IJavaPeerable.Finalized() |
que |
IJavaPeerable.JniManagedPeerState |
que |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
que |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
que |
IJavaPeerable.SetPeerReference(JniObjectReference) |
que |
Métodos de extensión
JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
JavaCast<TResult>(IJavaObject) |
que |
GetJniTypeName(IJavaPeerable) |
que |
ToEnumerable(IIterable) |
que |
ToEnumerable<T>(IIterable) |
que |