Compartilhar via


CopyOnWriteArraySet Classe

Definição

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

[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
Herança
Atributos
Implementações

Comentários

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações. Assim, ele compartilha as mesmas propriedades básicas: <ul><li>É mais adequado para aplicações em que os tamanhos definidos geralmente permanecem pequenos, as operações somente leitura superam amplamente as operações mutativas, e você precisa evitar interferências entre threads durante a travessia. <li>É thread-safe. <li>As operações mutativas (add, , remove, etc.) são caras, setpois geralmente envolvem a cópia de toda a matriz subjacente. <li>Os iteradores não suportam a operação mutativa remove . <li>Traversal via iteradores é rápido e não pode encontrar interferência de outros threads. Os iteradores dependem de instantâneos imutáveis da matriz no momento em que os iteradores foram construídos. </ul>

<b>Exemplo de uso.</b> O esboço de código a seguir usa um conjunto de cópia na gravação para manter um conjunto de objetos Handler que executam alguma ação em atualizações 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();
              }
            }}

Essa classe é membro do Java Collections Framework.

Adicionado em 1.5.

Documentação Java para java.util.concurrent.CopyOnWriteArraySet.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Construtores

CopyOnWriteArraySet()

Cria um conjunto vazio.

CopyOnWriteArraySet(ICollection)

Cria um conjunto contendo todos os elementos da coleção especificada.

CopyOnWriteArraySet(IntPtr, JniHandleOwnership)

Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo tempo de execução.

Propriedades

Class

Retorna a classe de tempo de execução deste Object.

(Herdado de Object)
Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
IsEmpty

A ser adicionado

(Herdado de AbstractCollection)
JniIdentityHashCode

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

(Herdado de Object)
JniPeerMembers

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

PeerReference

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

(Herdado de Object)
ThresholdClass

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

ThresholdType

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

Métodos

Add(Object)

A ser adicionado

(Herdado de AbstractCollection)
AddAll(ICollection)

A ser adicionado

(Herdado de AbstractCollection)
Clear()

A ser adicionado

(Herdado de AbstractCollection)
Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
Contains(Object)

A ser adicionado

(Herdado de AbstractCollection)
ContainsAll(ICollection)

A ser adicionado

(Herdado de AbstractCollection)
Dispose()

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

(Herdado de Object)
Dispose(Boolean)

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

(Herdado de Object)
Equals(Object)

Indica se algum outro objeto é "igual" a este.

(Herdado de Object)
ForEach(IConsumer)

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
Iterator()

Retorna um iterador sobre os elementos contidos nesse conjunto na ordem em que esses elementos foram adicionados.

JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
Remove(Object)

A ser adicionado

(Herdado de AbstractCollection)
RemoveAll(ICollection)

A ser adicionado

(Herdado de AbstractCollection)
RemoveIf(IPredicate)

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

RetainAll(ICollection)

A ser adicionado

(Herdado de AbstractCollection)
SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle.

(Herdado de Object)
Size()

Retorna o número de elementos nesse conjunto.

Spliterator()

Retorna um Spliterator sobre os elementos nesse conjunto na ordem em que esses elementos foram adicionados.

ToArray()

A ser adicionado

(Herdado de AbstractCollection)
ToArray(Object[])

A ser adicionado

(Herdado de AbstractCollection)
ToArray<T>()

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

(Herdado de Object)
Wait()

Faz com que o thread atual aguarde até que ele seja ativado, normalmente sendo <em notificado</em> ou <em>interrompido</em>>.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)

Implantações explícitas de interface

IJavaPeerable.Disposed()

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

(Herdado de Object)
IJavaPeerable.Finalized()

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

(Herdado de Object)

Métodos de Extensão

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada em tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

GetJniTypeName(IJavaPeerable)

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

ToEnumerable(IIterable)

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

ToEnumerable<T>(IIterable)

A Set que utiliza um interno CopyOnWriteArrayList para todas as suas operações.

Aplica-se a