Java : LinkedHashSet con ejemplos

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

Nota :


Summary

Implementación de la interfaz Set en forma de tabla hash y lista enlazada, con un orden de encuentro bien definido. Esta implementación se diferencia de HashSet en que mantiene una lista doblemente enlazada que recorre todas sus entradas. (Traducción automática)

Class diagram

final var set = new LinkedHashSet<String>();

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
final var linkedHashSet = new LinkedHashSet<String>();
linkedHashSet.add("xxx");
linkedHashSet.add("yyy");
linkedHashSet.add("aaa");
linkedHashSet.add("bbb");

System.out.println(linkedHashSet); // [xxx, yyy, aaa, bbb]

final var hashSet = new HashSet<String>();
hashSet.add("xxx");
hashSet.add("yyy");
hashSet.add("aaa");
hashSet.add("bbb");

System.out.println(hashSet); // [aaa, bbb, yyy, xxx]

Constructors

LinkedHashSet ()

Construye un nuevo conjunto hash vinculado vacío con la capacidad inicial predeterminada (16) y el factor de carga (0,75). (Traducción automática)

final var set = new LinkedHashSet<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

LinkedHashSet (int initialCapacity)

Construye un nuevo conjunto hash vinculado vacío con la capacidad inicial especificada y el factor de carga predeterminado (0,75). (Traducción automática)

final var set = new LinkedHashSet<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.066358 sec.
System.out.printf("%f sec.%n", (endTime - startTime) / 1000000000.0);
final var set = new LinkedHashSet<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.104886 sec.
System.out.printf("%f sec.%n", (endTime - startTime) / 1000000000.0);

LinkedHashSet (int initialCapacity, float loadFactor)

Construye un nuevo conjunto hash vinculado vacío con la capacidad inicial y el factor de carga especificados. (Traducción automática)

final var set = new LinkedHashSet<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.152455 sec.
System.out.printf("%f sec.%n", (endTime - startTime) / 1000000000.0);
final var set = new LinkedHashSet<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.102799 sec.
System.out.printf("%f sec.%n", (endTime - startTime) / 1000000000.0);

LinkedHashSet (Collection<? extends E> c)

Construye un nuevo conjunto hash vinculado con los mismos elementos que la colección especificada. (Traducción automática)

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

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

Methods

void addFirst (E e)

Agrega un elemento como el primer elemento de esta colección (operación opcional). (Traducción automática)

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

set.addFirst("aaa");
System.out.println(set); // [aaa]

set.addFirst("bbb");
System.out.println(set); // [bbb, aaa]

set.addFirst("ccc");
System.out.println(set); // [ccc, bbb, aaa]

void addLast (E e)

Agrega un elemento como último elemento de esta colección (operación opcional). (Traducción automática)

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

set.addLast("aaa");
System.out.println(set); // [aaa]

set.addLast("bbb");
System.out.println(set); // [aaa, bbb]

set.addLast("ccc");
System.out.println(set); // [aaa, bbb, ccc]

E getFirst ()

Obtiene el primer elemento de esta colección. (Traducción automática)

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

set.addLast("b");

System.out.println(set); // [b]
System.out.println(set.getFirst()); // b

set.addLast("c");

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

set.addFirst("a");

System.out.println(set); // [a, b, c]
System.out.println(set.getFirst()); // a
final var set = new LinkedHashSet<String>();
System.out.println(set); // []

try {
    set.getFirst();
} catch (NoSuchElementException e) {
    System.out.println("NoSuchElementException!");
}

// Result
// ↓
//NoSuchElementException!

E getLast ()

Obtiene el último elemento de esta colección. (Traducción automática)

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

set.addLast("b");

System.out.println(set); // [b]
System.out.println(set.getLast()); // b

set.addFirst("a");

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

set.addLast("c");

System.out.println(set); // [a, b, c]
System.out.println(set.getLast()); // c
final var set = new LinkedHashSet<String>();
System.out.println(set); // []

try {
    set.getLast();
} catch (NoSuchElementException e) {
    System.out.println("NoSuchElementException!");
}

// Result
// ↓
//NoSuchElementException!

static <T> LinkedHashSet<T> newLinkedHashSet (int numElements)

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

final var set = LinkedHashSet.<String>newLinkedHashSet(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

E removeFirst ()

Elimina y devuelve el primer elemento de esta colección (operación opcional). (Traducción automática)

final var set = new LinkedHashSet<String>();

set.add("aaa");
set.add("bbb");
set.add("ccc");

System.out.println(set); // [aaa, bbb, ccc]

System.out.println(set.removeFirst()); // aaa
System.out.println(set); // [bbb, ccc]

System.out.println(set.removeFirst()); // bbb
System.out.println(set); // [ccc]

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

try {
    var _ = set.removeFirst();
} catch (NoSuchElementException e) {
    System.out.println("NoSuchElementException!");
}

// Result
// ↓
//NoSuchElementException!

E removeLast ()

Elimina y devuelve el último elemento de esta colección (operación opcional). (Traducción automática)

final var set = new LinkedHashSet<String>();

set.add("aaa");
set.add("bbb");
set.add("ccc");

System.out.println(set); // [aaa, bbb, ccc]

System.out.println(set.removeLast()); // ccc
System.out.println(set); // [aaa, bbb]

System.out.println(set.removeLast()); // bbb
System.out.println(set); // [aaa]

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

try {
    var _ = set.removeLast();
} catch (NoSuchElementException e) {
    System.out.println("NoSuchElementException!");
}

// Result
// ↓
//NoSuchElementException!

SequencedSet<E> reversed ()

Devuelve una vista ordenada invertida de esta colección. (Traducción automática)

final var set = new LinkedHashSet<String>();

set.add("aaa");
set.add("bbb");
set.add("ccc");

System.out.println(set); // [aaa, bbb, ccc]

final var reversedSet = set.reversed();
System.out.println(reversedSet); // [ccc, bbb, aaa]

System.out.println(reversedSet.reversed()); // [aaa, bbb, ccc]

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 LinkedHashSet<String>();
Collections.addAll(set, "aaa", "bbb", "ccc");
System.out.println(set); // [aaa, bbb, ccc]

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

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

Methods declared in HashSet

add, clear, clone, contains, isEmpty, iterator, newHashSet, remove, size, toArray, toArray

Consulte el siguiente enlace.

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

add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray

Consulte el siguiente enlace.


Related posts

To top of page