Java : HashSet con ejemplos

HashSet (Java SE 23 & JDK 23) en Java con ejemplos.
Encontrará muestras de código para la mayoría de los métodos HashSet<E>.

Nota :


Summary

Esta clase implementa la interfaz Set, respaldada por una tabla hash (en realidad, una instancia de HashMap). No ofrece garantías en cuanto al orden de iteración del conjunto; en particular, no garantiza que el orden se mantendrá constante a lo largo del tiempo. Esta clase permite el elemento nulo. (Traducción automática)

Class diagram

final var set = new HashSet<String>();
System.out.println(set); // []
System.out.println(set.isEmpty()); // true

set.add("a");
set.add("b");
set.add("c");

System.out.println(set); // [a, b, c]
System.out.println(set.size()); // 3

System.out.println(set.contains("a")); // true
System.out.println(set.contains("b")); // true
System.out.println(set.contains("X")); // false

Constructors

HashSet ()

Construye un nuevo conjunto vacío; la instancia de HashMap de respaldo tiene una capacidad inicial predeterminada (16) y un factor de carga (0,75). (Traducción automática)

final var set = new HashSet<String>();
System.out.println(set); // []
System.out.println(set.isEmpty()); // true

set.add("a");
set.add("b");
set.add("c");

System.out.println(set); // [a, b, c]
System.out.println(set.size()); // 3

HashSet (int initialCapacity)

Construye un nuevo conjunto vacío; la instancia de HashMap de respaldo tiene la capacidad inicial especificada y el factor de carga predeterminado (0,75). (Traducción automática)

final var set = new HashSet<String>(10000000);
System.out.println(set); // []

final var startTime = System.nanoTime();

for (int i = 0; i < 1000000; i++) {
    set.add(String.valueOf(i));
}

final var endTime = System.nanoTime();

// 0.051620 sec.
System.out.printf("%f sec.%n", (endTime - startTime) / 1000000000.0);
final var set = new HashSet<String>(1);
System.out.println(set); // []

final var startTime = System.nanoTime();

for (int i = 0; i < 1000000; i++) {
    set.add(String.valueOf(i));
}

final var endTime = System.nanoTime();

// 0.083717 sec.
System.out.printf("%f sec.%n", (endTime - startTime) / 1000000000.0);

HashSet (int initialCapacity, float loadFactor)

Construye un nuevo conjunto vacío; la instancia de HashMap de respaldo tiene la capacidad inicial especificada y el factor de carga especificado. (Traducción automática)

final var set = new HashSet<String>(16, 0.05f);
System.out.println(set); // []

final var startTime = System.nanoTime();

for (int i = 0; i < 1000000; i++) {
    set.add(String.valueOf(i));
}

final var endTime = System.nanoTime();

// 0.130706 sec.
System.out.printf("%f sec.%n", (endTime - startTime) / 1000000000.0);
final var set = new HashSet<String>(16, 0.75f);
System.out.println(set); // []

final var startTime = System.nanoTime();

for (int i = 0; i < 1000000; i++) {
    set.add(String.valueOf(i));
}

final var endTime = System.nanoTime();

// 0.101407 sec.
System.out.printf("%f sec.%n", (endTime - startTime) / 1000000000.0);

HashSet (Collection<? extends E> c)

Construye un nuevo conjunto que contiene los elementos de la colección especificada. (Traducción automática)

final var c = List.of("a", "b", "c");

final var set = new HashSet<>(c);
System.out.println(set); // [a, b, c]
System.out.println(set.size()); // 3

Methods

boolean add (E e)

Agrega el elemento especificado a este conjunto si aún no está presente. (Traducción automática)

final var set = new HashSet<String>();
System.out.println(set); // []

System.out.println(set.add("a")); // true
System.out.println(set); // [a]

System.out.println(set.add("b")); // true
System.out.println(set); // [a, b]

System.out.println(set.add("c")); // true
System.out.println(set); // [a, b, c]

System.out.println(set.add("a")); // false
System.out.println(set); // [a, b, c]

void clear ()

Elimina todos los elementos de este conjunto. (Traducción automática)

final var set = new HashSet<String>();
System.out.println(set); // []

set.add("a");
System.out.println(set); // [a]

set.add("b");
System.out.println(set); // [a, b]

set.clear();
System.out.println(set); // []

Object clone ()

Devuelve una copia superficial de esta instancia de HashSet: los elementos en sí no se clonan. (Traducción automática)

final var set = new HashSet<String>();
set.add("a");
set.add("b");
set.add("c");

System.out.println(set); // [a, b, c]

final var cloned = set.clone();
System.out.println(cloned); // [a, b, c]
System.out.println(cloned.getClass()); // class java.util.HashSet

boolean contains (Object o)

Devuelve verdadero si este conjunto contiene el elemento especificado. (Traducción automática)

final var set = new HashSet<String>();
Collections.addAll(set, "a", "b", "c");
System.out.println(set); // [a, b, c]

System.out.println(set.contains("")); // false
System.out.println(set.contains("a")); // true
System.out.println(set.contains("b")); // true
System.out.println(set.contains("c")); // true

System.out.println(set.contains("X")); // false
System.out.println(set.contains("abc")); // false

boolean isEmpty ()

Devuelve verdadero si este conjunto no contiene elementos. (Traducción automática)

final var set = new HashSet<String>();
set.add("a");
set.add("b");
set.add("c");

System.out.println(set); // [a, b, c]
System.out.println(set.isEmpty()); // false

set.clear();
System.out.println(set); // []
System.out.println(set.isEmpty()); // true

Iterator<E> iterator ()

Devuelve un iterador sobre los elementos de este conjunto. (Traducción automática)

final var set = new HashSet<String>();
Collections.addAll(set, "aaa", "bbb", "ccc");
System.out.println(set); // [aaa, ccc, bbb]

set.iterator().forEachRemaining(System.out::println);

// Result
// ↓
//aaa
//ccc
//bbb

static <T> HashSet<T> newHashSet (int numElements)

Crea un nuevo HashSet vacío adecuado para la cantidad esperada de elementos. (Traducción automática)

final var set = HashSet.<String>newHashSet(3);
System.out.println(set); // []
System.out.println(set.isEmpty()); // true

set.add("a");
set.add("b");
set.add("c");

System.out.println(set); // [a, b, c]
System.out.println(set.size()); // 3

boolean remove (Object o)

Elimina el elemento especificado de este conjunto si está presente. (Traducción automática)

final var src = Set.of("a", "b", "c");

{
    final var set = new HashSet<>(src);
    System.out.println(set); // [a, b, c]

    System.out.println(set.remove("")); // false
    System.out.println(set); // [a, b, c]
}
{
    final var set = new HashSet<>(src);
    System.out.println(set); // [a, b, c]

    System.out.println(set.remove("a")); // true
    System.out.println(set); // [b, c]
}
{
    final var set = new HashSet<>(src);
    System.out.println(set); // [a, b, c]

    System.out.println(set.remove("b")); // true
    System.out.println(set); // [a, c]
}
{
    final var set = new HashSet<>(src);
    System.out.println(set); // [a, b, c]

    System.out.println(set.remove("X")); // false
    System.out.println(set); // [a, b, c]
}

int size ()

Devuelve el número de elementos en este conjunto (su cardinalidad). (Traducción automática)

final var set1 = new HashSet<String>();
System.out.println(set1); // []
System.out.println(set1.size()); // 0

final var set2 = new HashSet<String>();
Collections.addAll(set2, "a", "b", "c");
System.out.println(set2); // [a, b, c]
System.out.println(set2.size()); // 3

Spliterator<E> spliterator ()

Crea un divisor con enlace tardío y resistencia a fallos rápidos sobre los elementos de este conjunto. (Traducción automática)

final var set = new HashSet<String>();
Collections.addAll(set, "aaa", "bbb", "ccc");
System.out.println(set); // [aaa, ccc, bbb]

final var spliterator = set.spliterator();
spliterator.forEachRemaining(System.out::println);

// Result
// ↓
//aaa
//ccc
//bbb

Object[] toArray ()

Devuelve una matriz que contiene todos los elementos de esta colección. (Traducción automática)

final var set = new HashSet<String>();
Collections.addAll(set, "a", "b", "c");
System.out.println(set); // [a, b, c]

final Object[] array = set.toArray();
System.out.println(Arrays.toString(array)); // [a, b, c]

<T> T[] toArray (T[] a)

Devuelve una matriz que contiene todos los elementos de esta colección; el tipo de tiempo de ejecución de la matriz devuelta es el de la matriz especificada. (Traducción automática)

final var set = new HashSet<String>();
Collections.addAll(set, "a", "b", "c");
System.out.println(set); // [a, b, c]

final String[] ret = set.toArray(new String[0]);
System.out.println(Arrays.toString(ret)); // [a, b, c]
final var set = new HashSet<String>();
Collections.addAll(set, "a", "b", "c");
System.out.println(set); // [a, b, c]

{
    final String[] array = new String[3];
    System.out.println(Arrays.toString(array)); // [null, null, null]

    final var ret = set.toArray(array);
    System.out.println(Arrays.toString(array)); // [a, b, c]
    System.out.println(Arrays.toString(ret)); // [a, b, c]
}
{
    final String[] array = new String[5];
    System.out.println(Arrays.toString(array)); // [null, null, null, null, null]

    final var ret = set.toArray(array);
    System.out.println(Arrays.toString(array)); // [a, b, c, null, null]
    System.out.println(Arrays.toString(ret)); // [a, b, c, null, null]
}
{
    final String[] array = new String[1];
    System.out.println(Arrays.toString(array)); // [null]

    final var ret = set.toArray(array);
    System.out.println(Arrays.toString(array)); // [null]
    System.out.println(Arrays.toString(ret)); // [a, b, c]
}

Methods declared in AbstractSet

equals, hashCode, removeAll

Consulte el siguiente enlace.

Methods declared in AbstractCollection

addAll, containsAll, retainAll, toArray, toArray, toString

Consulte el siguiente enlace.

Methods declared in Collection

parallelStream, removeIf, stream, toArray

Consulte el siguiente enlace.

Methods declared in Iterable

forEach

Consulte el siguiente enlace.

Methods declared in Set

addAll, containsAll, equals, hashCode, removeAll, retainAll

Consulte el siguiente enlace.


Related posts

To top of page