CopyOnWriteArraySet Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| IsEmpty |
A ser adicionado (Herdado de AbstractCollection) |
| JniIdentityHashCode |
A |
| JniPeerMembers |
A |
| PeerReference |
A |
| 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 |
| Dispose(Boolean) |
A |
| Equals(Object) |
Indica se algum outro objeto é "igual" a este. (Herdado de Object) |
| ForEach(IConsumer) |
A |
| 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 |
| 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 |
| ToArray() |
A ser adicionado (Herdado de AbstractCollection) |
| ToArray(Object[]) |
A ser adicionado (Herdado de AbstractCollection) |
| ToArray<T>() |
A |
| ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
| UnregisterFromRuntime() |
A |
| 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, 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) |
| 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) |
Implantações explícitas de interface
| IJavaPeerable.Disposed() |
A |
| IJavaPeerable.DisposeUnlessReferenced() |
A |
| IJavaPeerable.Finalized() |
A |
| IJavaPeerable.JniManagedPeerState |
A |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
A |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
A |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
A |
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 |
| GetJniTypeName(IJavaPeerable) |
A |
| ToEnumerable(IIterable) |
A |
| ToEnumerable<T>(IIterable) |
A |