Java: la clase HashSet

HashSet extiende AbstractSet e implementa la interfaz Set. Crea una colección que usa una tabla hash para el almacenamiento.

Una tabla hash almacena información mediante un mecanismo llamado hashing. En hash, el contenido informativo de una clave se utiliza para determinar un valor único, llamado su código hash.

Luego, el código hash se usa como índice en el que se almacenan los datos asociados con la clave. La transformación de la clave en su código hash se realiza automáticamente.

A continuación se muestra la lista de constructores proporcionada por la clase HashSet.

No Señor. Constructor y descripción
1

HashSet( )

Este constructor construye un HashSet predeterminado.

2

HashSet(Collection c)

Este constructor inicializa el conjunto de hash utilizando los elementos de la colección. c.

3

HashSet(int capacity)

Este constructor inicializa la capacidad del conjunto hash a la capacidad de valor entero dado. La capacidad crece automáticamente a medida que se agregan elementos al HashSet.

4

HashSet(int capacity, float fillRatio)

Este constructor inicializa tanto la capacidad como la relación de llenado (también llamada capacidad de carga) del conjunto hash a partir de sus argumentos.

Aquí, la proporción de relleno debe estar entre 0.0 y 1.0, y determina qué tan completo puede estar el conjunto de hash antes de que se redimensione hacia arriba. Específicamente, cuando el número de elementos es mayor que la capacidad del conjunto de hash multiplicado por su proporción de llenado, el conjunto de hash se expande.

Además de los métodos heredados de sus clases principales, HashSet define los siguientes métodos:

No Señor. Método y descripción
1

boolean add(Object o)

Agrega el elemento especificado a este conjunto si aún no está presente.

2

void clear()

Elimina todos los elementos de este conjunto.

3

Object clone()

Devuelve una copia superficial de esta instancia de HashSet: los elementos en sí mismos no se clonan.

4

boolean contains(Object o)

Devuelve verdadero si este conjunto contiene el elemento especificado.

5

boolean isEmpty()

Devuelve verdadero si este conjunto no contiene elementos.

6

Iterator iterator()

Devuelve un iterador sobre los elementos de este conjunto.

7

boolean remove(Object o)

Elimina el elemento especificado de este conjunto si está presente.

8

int size()

Devuelve el número de elementos de este conjunto (su cardinalidad).

Ejemplo

El siguiente programa ilustra varios de los métodos admitidos por HashSet:

import java.util.*;
public class HashSetDemo {

   public static void main(String args[]) {
      // create a hash set
      HashSet hs = new HashSet();
      
      // add elements to the hash set
      hs.add("B");
      hs.add("A");
      hs.add("D");
      hs.add("E");
      hs.add("C");
      hs.add("F");
      System.out.println(hs);
   }
}

Esto producirá el siguiente resultado:

Salida

[A, B, C, D, E, F]