HashSet 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í.
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.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 garantiza el orden de iteración del conjunto; en concreto, no garantiza que el orden 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 en 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 de 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 naturalmente 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 sincronizado 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 produce un error rápido y limpio, en lugar de arriesgarse a un comportamiento arbitrario y no determinista en un momento indeterminado en el futuro.
Tenga en cuenta que no se puede garantizar el comportamiento rápido de un iterador, ya que es, por lo general, imposible hacer ninguna garantía dura en presencia de modificaciones simultáneas no asincrónicas. Los iteradores rápidos de error inician ConcurrentModificationException el 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 del error de los iteradores solo se debe usar para detectar errores.
Esta clase es miembro del marco de colecciones de Java.
Agregado en la versión 1.2.
Java documentación para java.util.HashSet.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Constructores
| Nombre | Description |
|---|---|
| HashSet() |
Construye un nuevo conjunto vacío; la instancia de respaldo |
| HashSet(ICollection) |
Construye un nuevo conjunto que contiene los elementos de la colección especificada. |
| HashSet(Int32, Single) |
Construye un nuevo conjunto vacío; la instancia de respaldo |
| HashSet(Int32) |
Construye un nuevo conjunto vacío; la instancia de respaldo |
| HashSet(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
Propiedades
| Nombre | Description |
|---|---|
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| IsEmpty |
Por agregar (Heredado de AbstractCollection) |
| JniIdentityHashCode |
Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| JniManagedPeerState |
Esta clase implementa la |
| JniPeerMembers |
Esta clase implementa la |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (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
| Nombre | Description |
|---|---|
| Add(Object) |
Por agregar (Heredado de AbstractCollection) |
| AddAll(ICollection) |
Por agregar (Heredado de AbstractCollection) |
| Clear() |
Por agregar (Heredado de AbstractCollection) |
| Clone() |
Devuelve una copia superficial de esta |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Esta clase implementa la |
| Contains(Object) |
Por agregar (Heredado de AbstractCollection) |
| ContainsAll(ICollection) |
Por agregar (Heredado de AbstractCollection) |
| Dispose() |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dispose(Boolean) |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| DisposeUnlessReferenced() |
Esta clase implementa la |
| Equals(Object) |
Esta clase implementa la |
| Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
| GetHashCode() |
Devuelve un valor de código hash para el objeto . (Heredado de Object) |
| Iterator() |
Devuelve un iterador sobre los elementos de este conjunto. |
| 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) |
| NewHashSet(Int32) |
Crea un objeto HashSet nuevo y vacío adecuado para el número esperado de elementos. |
| 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) |
Por agregar (Heredado de AbstractCollection) |
| RemoveAll(ICollection) |
Por agregar (Heredado de AbstractCollection) |
| RetainAll(ICollection) |
Por agregar (Heredado de AbstractCollection) |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Esta clase implementa la |
| Size() |
Devuelve el número de elementos de este conjunto (su cardinalidad). |
| Spliterator() |
Crea un <em>late-binding</em> y <em>fail-fast</em> |
| ToArray() |
Por agregar (Heredado de AbstractCollection) |
| ToArray(Object[]) |
Por agregar (Heredado de AbstractCollection) |
| ToArray<T>() |
Crea una matriz administrada a partir de este contenedor de matriz Java. (Heredado de Object) |
| ToString() |
Devuelve una representación de cadena del objeto . (Heredado de Object) |
| UnregisterFromRuntime() |
Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| 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, 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) |
| 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) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IJavaPeerable.Disposed() |
Esta clase implementa la |
| IJavaPeerable.Finalized() |
Esta clase implementa la |
| IJavaPeerable.JniObjectReferenceControlBlock |
Esta clase implementa la |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Esta clase implementa la |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Esta clase implementa la |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Esta clase implementa la |
| IJavaPeerable.UnregisterFromRuntime() |
Esta clase implementa la |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerció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 |
| ToEnumerable(IIterable) |
Esta clase implementa la |
| ToEnumerable<T>(IIterable) |
Esta clase implementa la |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |