Buscar..


Introducción

La llegada de Java 9 trae muchas características nuevas a la API de colecciones de Java, una de las cuales son los métodos de la fábrica de colecciones. Estos métodos permiten una fácil inicialización de colecciones inmutables , ya sean vacías o no vacías.

Tenga en cuenta que estos métodos de fábrica solo están disponibles para las siguientes interfaces: List<E> , Set<E> y Map<K, V>

Sintaxis

  • static <E> List<E> of​()
  • static <E> List<E> of​(E e1)
  • static <E> List<E> of​(E e1, E e2)
  • static <E> List<E> of​(E e1, E e2, ..., E e9, E e10)
  • static <E> List<E> of​(E... elements)
  • static <E> Set<E> of​()
  • static <E> Set<E> of​(E e1)
  • static <E> Set<E> of​(E e1, E e2)
  • static <E> Set<E> of​(E e1, E e2, ..., E e9, E e10)
  • static <E> Set<E> of​(E... elements)
  • static <K,V> Map<K,V> of()
  • static <K,V> Map<K,V> of(K k1, V v1)
  • static <K,V> Map<K,V> of(K k1, V v1, K k2, V v2)
  • static <K,V> Map<K,V> of(K k1, V v1, K k2, V v2, ..., K k9, V v9, K k10, V v10)
  • static <K,V> Map<K,V> ofEntries​(Map.Entry<? extends K,? extends V>... entries)

Parámetros

Método con parámetro Descripción
List.of(E e) Un tipo genérico que puede ser una clase o interfaz.
Set.of(E e) Un tipo genérico que puede ser una clase o interfaz.
Map.of(K k, V v) Un par clave-valor de tipos genéricos que pueden ser una clase o interfaz.
Map.of(Map.Entry<? extends K, ? extends V> entry) Una instancia de Map.Entry donde su clave puede ser K o uno de sus hijos, y su valor puede ser V o cualquiera de sus hijos.

Lista Ejemplos de métodos de fábrica

  • List<Integer> immutableEmptyList = List.of();
    • Inicializa una List<Integer> vacía e inmutable List<Integer> .
  • List<Integer> immutableList = List.of(1, 2, 3, 4, 5);
    • Inicializa una List<Integer> inmutable List<Integer> con cinco elementos iniciales.
  • List<Integer> mutableList = new ArrayList<>(immutableList);
    • Inicializa una List<Integer> mutable List<Integer> de una List<Integer> inmutable List<Integer> .

Conjunto Ejemplos de métodos de fábrica

  • Set<Integer> immutableEmptySet = Set.of();
    • Inicializa un conjunto vacío e inmutable Set<Integer> .
  • Set<Integer> immutableSet = Set.of(1, 2, 3, 4, 5);
    • Inicializa un Set<Integer> inmutable Set<Integer> con cinco elementos iniciales.
  • Set<Integer> mutableSet = new HashSet<>(immutableSet);
    • Inicializa un Set<Integer> mutable Set<Integer> partir de un Set<Integer> inmutable Set<Integer> .

Mapa Ejemplos de métodos de fábrica

  • Map<Integer, Integer> immutableEmptyMap = Map.of();
    • Inicializa un Map<Integer, Integer> vacío e inmutable Map<Integer, Integer> .
  • Map<Integer, Integer> immutableMap = Map.of(1, 2, 3, 4);
    • Inicializa un Map<Integer, Integer> inmutable Map<Integer, Integer> con dos entradas iniciales de clave-valor.
  • Map<Integer, Integer> immutableMap = Map.ofEntries(Map.entry(1, 2), Map.entry(3, 4));
    • Inicializa un Map<Integer, Integer> inmutable Map<Integer, Integer> con dos entradas iniciales de clave-valor.
  • Map<Integer, Integer> mutableMap = new HashMap<>(immutableMap);
    • Inicializa un Map<Integer, Integer> mutable Map<Integer, Integer> partir de un Map<Integer, Integer> inmutable Map<Integer, Integer> .


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow