Post

Conjunto de Hash

Conjunto de hash

Un HashSet es una colección de elementos donde cada elemento es único y se encuentra en el paquete java.util

1
2
3
4
5
// Crear un HashSet objeto llamado coches que almacenará cadenas

import java.util.HashSet;

HashSet<String> coches = new HashSet<String>();

Agregar elementos

La clase HashSet tiene muchos métodos útiles. Por ejemplo, el método add()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.HashSet;

public class main {
  public static void main(String[] args) {
    HashSet<String> coches = new HashSet<String>();
    coches.add("Jaguar");
    coches.add("Ford");
    coches.add("BMW");
    coches.add("BMW");
    coches.add("Ferrari");

    System.out.println(coches);
  }
}

NOTA: En el ejemplo anterior, aunque BMW se agrega dos veces, solo aparece una vez en el conjunto, porque cada elemento de un conjunto tiene que ser único.

Comprobar si existe un elementos

Para verificar si un elemento existe en un HashSet, utiliza el método contains()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.HashSet;

public class main {
  public static void main(String[] args) {
    HashSet<String> coches = new HashSet<String>();
    coches.add("Jaguar");
    coches.add("Ford");
    coches.add("BMW");
    coches.add("BMW");
    coches.add("Ferrari");

    coches.contains("Porche");
  }
}

Eliminar un artículo

Para eliminar un elemento, utiliza el método remove()

1
coches.remove("Ferrari");

Para eliminar todos los elementos, utiliza el método clear()

1
coches.clear();

Tamaño del conjunto de hash

Para saber cuántos elementos hay, utiliza el método size():

1
coches.size();

Recorrer un HashSet

Recorre los elementos de un HashSet con un bucle para cada

1
2
3
for (String i : coches){
  System.out.println(i)
}

Otros tipos

Los elementos de un HashSet son en realidad objetos. En los ejemplos anteriores, hemos creado elementos (objetos) de tipo String. Recuerda que un String en Java es un objeto (no un tipo primitivo). Para utilizar otros tipos, como int, debes especificar una clase envolvente equivalente: Integer. Para otros tipos primitivos, utiliza: Boolean para booleanos, Character para caracteres, etc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Usar una HashSet que almacena Integer objetos

import java.util.HashSet;

public class Main {
  public static void main(String[] args) {

    HashSet<Integer> numeros = new HashSet<Integer>();

    numeros.add(4);
    numeros.add(7);
    numeros.add(8);

    for (int i = 0; i <= 10; i ++ ){
      if (numeros.contains(i)) {
        System.out.println(i + " en el conjunto.");
      } else {
        System.out.println(i + " no se encontró en el conjunto.");
      }
    }
  }
}
This post is licensed under CC BY 4.0 by the author.