Compartilhar via


HashSet Classe

Definição

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância).

[Android.Runtime.Register("java/util/HashSet", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class HashSet : Java.Util.AbstractSet, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.ICloneable
[<Android.Runtime.Register("java/util/HashSet", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type HashSet = class
    inherit AbstractSet
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ICloneable
    interface ISet
    interface ICollection
    interface IIterable
Herança
Derivado
Atributos
Implementações

Comentários

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância). Ele não faz garantias quanto à ordem de iteração do conjunto; em particular, não garante que a ordem permanecerá constante ao longo do tempo. Essa classe permite o null elemento .

Essa classe oferece desempenho de tempo constante para as operações básicas (add, containsremovee size), supondo que a função hash disperse os elementos corretamente entre os buckets. A iteração sobre esse conjunto requer tempo proporcional à soma do tamanho da HashSet instância (o número de elementos) mais a "capacidade" da instância de suporte HashMap (o número de buckets). Assim, é muito importante não definir a capacidade inicial muito alta (ou o fator de carga muito baixo) se o desempenho da iteração for importante.

<forte>Observe que essa implementação não está sincronizada.</strong> Se vários threads acessarem um conjunto de hash simultaneamente e pelo menos um dos threads modificar o conjunto, ele deverá ser sincronizado externamente. Isso normalmente é realizado sincronizando em algum objeto que encapsula naturalmente o conjunto.

Se esse objeto não existir, o conjunto deve ser "encapsulado" usando o Collections#synchronizedSet Collections.synchronizedSet método. Isso é melhor feito no momento da criação, para evitar o acesso acidental não sincronizado ao conjunto:

Set s = Collections.synchronizedSet(new HashSet(...));

Os iteradores retornados pelo método dessa iterator classe são fail-fast: se o conjunto for modificado a qualquer momento depois que o iterador for criado, de qualquer forma, exceto através do próprio remove método do iterador, o Iterator lançará um ConcurrentModificationExceptionarquivo . Assim, diante da modificação simultânea, o iterador falha rápida e limpamente, em vez de arriscar um comportamento arbitrário e não determinista em um momento indeterminado no futuro.

Observe que o comportamento de falha rápida de um iterador não pode ser garantido, pois é, de modo geral, impossível fazer quaisquer garantias rígidas na presença de modificação simultânea não sincronizada. Os iteradores rápidos lançam ConcurrentModificationException com base no melhor esforço. Portanto, seria errado escrever um programa que dependesse dessa exceção para sua correção: o comportamento rápido de iteradores deve ser usado apenas para detectar bugs.

Essa classe é membro do Java Collections Framework.

Adicionado em 1.2.

Documentação Java para java.util.HashSet.

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

HashSet()

Constrói um novo conjunto vazio; A instância de backup HashMap tem capacidade inicial padrão (16) e fator de carga (0.

HashSet(ICollection)

Constrói um novo conjunto que contém os elementos na coleção especificada.

HashSet(Int32)

Constrói um novo conjunto vazio; A instância de suporte HashMap tem a capacidade inicial especificada e o fator de carga padrão (0.

HashSet(Int32, Single)

Constrói um novo conjunto vazio; A instância de suporte HashMap tem a capacidade inicial especificada e o fator de carga especificado.

HashSet(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

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância).

(Herdado de Object)
JniPeerMembers

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância).

PeerReference

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância).

(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()

Retorna uma cópia superficial dessa HashSet instância: os elementos em si não são clonados.

Contains(Object)

A ser adicionado

(Herdado de AbstractCollection)
ContainsAll(ICollection)

A ser adicionado

(Herdado de AbstractCollection)
Dispose()

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância).

(Herdado de Object)
Dispose(Boolean)

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância).

(Herdado de Object)
Equals(Object)

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

(Herdado de Object)
GetHashCode()

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

(Herdado de Object)
Iterator()

Retorna um iterador sobre os elementos nesse conjunto.

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)
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 (sua cardinalidade).

Spliterator()

Cria um <em>late-binding</em> e <em>fail-fast</em>Spliterator sobre os elementos neste conjunto.

ToArray()

A ser adicionado

(Herdado de AbstractCollection)
ToArray(Object[])

A ser adicionado

(Herdado de AbstractCollection)
ToArray<T>()

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância).

(Herdado de Object)
ToString()

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

(Herdado de Object)
UnregisterFromRuntime()

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância).

(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()

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância).

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância).

(Herdado de Object)
IJavaPeerable.Finalized()

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância).

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância).

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância).

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância).

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância).

(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)

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância).

GetJniTypeName(IJavaPeerable)

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância).

ToEnumerable(IIterable)

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância).

ToEnumerable<T>(IIterable)

Essa classe implementa a Set interface, apoiada por uma tabela de hash (na verdade, uma HashMap instância).

Aplica-se a