Share via


HashSet Clase

Definición

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia).

[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
Herencia
Derivado
Atributos
Implementaciones

Comentarios

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia). No hace garantías sobre el orden de iteración del conjunto; en particular, no garantiza que el pedido permanezca constante con el tiempo. Esta clase permite el null elemento .

Esta clase ofrece un rendimiento de tiempo constante para las operaciones básicas (add, removey containssize), suponiendo que la función hash disperse los elementos correctamente entre los cubos. La iteración de este conjunto requiere tiempo proporcional a la suma del tamaño de la HashSet instancia (el número de elementos) más la "capacidad" de la instancia de respaldo HashMap (el número de cubos). Por lo tanto, es muy importante no establecer la capacidad inicial demasiado alta (o el factor de carga demasiado bajo) si el rendimiento de iteración es importante.

<fuerte>Tenga en cuenta que esta implementación no está sincronizada.</strong> Si varios subprocesos acceden simultáneamente a un conjunto hash y al menos uno de los subprocesos modifica el conjunto, debe sincronizarse externamente. Esto se logra normalmente mediante la sincronización en algún objeto que encapsula de forma natural el conjunto.

Si no existe este objeto, el conjunto debe "encapsularse" mediante el Collections#synchronizedSet Collections.synchronizedSet método . Esto se hace mejor en el momento de la creación, para evitar el acceso no asincrónico accidental al conjunto:

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

Los iteradores devueltos por el método de iterator esta clase no son rápidos: si el conjunto se modifica en cualquier momento después de crear el iterador, excepto a través del método propio remove del iterador, iterador inicia un ConcurrentModificationException. Por lo tanto, en el caso de la modificación simultánea, el iterador falla rápidamente y limpiamente, en lugar de arriesgarse a un comportamiento arbitrario y no determinista en un momento indeterminado en el futuro.

Tenga en cuenta que el comportamiento rápido de error de un iterador no se puede garantizar tal cual, por lo general, imposible hacer cualquier garantía difícil en presencia de modificaciones simultáneas no asincrónicas. Los iteradores rápidos de error producen ConcurrentModificationException un mejor esfuerzo. Por lo tanto, sería incorrecto escribir un programa que dependiera de esta excepción por su corrección: el comportamiento rápido de errores de los iteradores solo se debe usar para detectar errores.

Esta clase es miembro de Java Collections Framework.

Se agregó en la versión 1.2.

Documentación de Java para java.util.HashSet.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código y se usan según los términos descritos en la creative Commons 2.5.

Constructores

HashSet()

Construye un nuevo conjunto vacío; la instancia de respaldo HashMap tiene capacidad inicial predeterminada (16) y factor de carga (0).

HashSet(ICollection)

Construye un nuevo conjunto que contiene los elementos de la colección especificada.

HashSet(Int32)

Construye un nuevo conjunto vacío; la instancia de respaldo HashMap tiene la capacidad inicial especificada y el factor de carga predeterminado (0).

HashSet(Int32, Single)

Construye un nuevo conjunto vacío; la instancia de respaldo HashMap tiene la capacidad inicial especificada y el factor de carga especificado.

HashSet(IntPtr, JniHandleOwnership)

Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el entorno de ejecución.

Propiedades

Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
IsEmpty

Para agregar

(Heredado de AbstractCollection)
JniIdentityHashCode

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia).

(Heredado de Object)
JniPeerMembers

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia).

PeerReference

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia).

(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

Add(Object)

Para agregar

(Heredado de AbstractCollection)
AddAll(ICollection)

Para agregar

(Heredado de AbstractCollection)
Clear()

Para agregar

(Heredado de AbstractCollection)
Clone()

Devuelve una copia superficial de esta HashSet instancia: los propios elementos no se clonan.

Contains(Object)

Para agregar

(Heredado de AbstractCollection)
ContainsAll(ICollection)

Para agregar

(Heredado de AbstractCollection)
Dispose()

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia).

(Heredado de Object)
Dispose(Boolean)

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia).

(Heredado de Object)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
GetHashCode()

Devuelve un valor de código hash del objeto.

(Heredado de Object)
Iterator()

Devuelve un iterador sobre los elementos de este conjunto.

JavaFinalize()

Llamado por 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)
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 (su cardinalidad).

Spliterator()

Crea un <em>late-binding</em> y <em>fail-fast</em>Spliterator sobre los elementos de este conjunto.

ToArray()

Para agregar

(Heredado de AbstractCollection)
ToArray(Object[])

Para agregar

(Heredado de AbstractCollection)
ToArray<T>()

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia).

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
UnregisterFromRuntime()

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia).

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

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <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 <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()

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia).

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia).

(Heredado de Object)
IJavaPeerable.Finalized()

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia).

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia).

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia).

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia).

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia).

(Heredado de Object)

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)

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia).

GetJniTypeName(IJavaPeerable)

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia).

ToEnumerable(IIterable)

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia).

ToEnumerable<T>(IIterable)

Esta clase implementa la Set interfaz, respaldada por una tabla hash (en realidad, una HashMap instancia).

Se aplica a