Volver a la página principal
sábado 25 enero 2025
7

Cómo usar colecciones secuenciadas en Java 21

En Java 21, las colecciones secuenciadas (SequencedCollection, SequencedSet, SequencedMap) introducen una forma más intuitiva de trabajar con colecciones ordenadas, permitiendo acceso y manipulación eficiente de elementos en los extremos (inicio y final). Estas interfaces amplían las colecciones existentes como listas, conjuntos y mapas.

Colecciones secuenciadas en Java 21

Las interfaces de colecciones secuenciadas en Java 21 proporcionan métodos para agregar, obtener y eliminar elementos de manera ordenada en ambas direcciones (inicio y fin). Esto mejora la manipulación de estructuras como listas y mapas, facilitando operaciones como el acceso a elementos extremos sin necesidad de conversiones adicionales.

Principales interfaces de colecciones secuenciadas:

  • SequencedCollection<E>: Extiende Collection<E> e introduce métodos para manipular elementos en los extremos.
  • SequencedSet<E>: Extiende Set<E> con métodos de acceso secuencial.
  • SequencedMap<K, V>: Extiende Map<K, V> con acceso secuencial a claves y valores.

Métodos clave de las interfaces secuenciadas

Método Descripción
addFirst(E element) Agrega un elemento al inicio de la colección.
addLast(E element) Agrega un elemento al final de la colección.
getFirst() Obtiene el primer elemento de la colección.
getLast() Obtiene el último elemento de la colección.
removeFirst() Elimina el primer elemento de la colección.
removeLast() Elimina el último elemento de la colección.
reversed() Devuelve una vista invertida de la colección.

Ejemplos de uso

Uso de SequencedCollection con ArrayList

import java.util.ArrayList;
import java.util.SequencedCollection;

public class Main {
    public static void main(String[] args) {
        SequencedCollection<String> lista = new ArrayList<>();
        
        lista.addFirst("Inicio");
        lista.addLast("Fin");

        System.out.println(lista.getFirst()); // Inicio
        System.out.println(lista.getLast());  // Fin

        lista.removeFirst();
        lista.removeLast();
    }
}

Uso de SequencedMap con LinkedHashMap

import java.util.LinkedHashMap;
import java.util.SequencedMap;

public class Main {
    public static void main(String[] args) {
        SequencedMap<Integer, String> mapa = new LinkedHashMap<>();
        
        mapa.putFirst(1, "Uno");
        mapa.putLast(2, "Dos");

        System.out.println(mapa.getFirstKey()); // 1
        System.out.println(mapa.getLastKey());  // 2

        mapa.removeFirst();
        mapa.removeLast();
    }
}

Referencias

Para más información, consulta la documentación oficial de Java 21.

Etiquetas:
java
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer