Java 9 Collections y sus novedades

Las Novedades en Java 9 Collections son muchas. Java 8 introdujo las expresiones Lambda y los Streams que fueron un salto muy importante en Java. Sin embargo como una tecnología nueva quedaron muchas cosas por añadir y fue únicamente un primer paso. Java 9 hace uso del framework de colecciones de una forma mucho más natural. Hoy vamos a hablar de los nuevos métodos estáticos of que soportan las diferentes colecciones y que hacían mucha falta para simplificar la creación de objetos.

Java 9 Collections  y List.of

El primer método que vamos a abordar es el método List.of que nos permite de una forma sencilla crear una lista de elementos.


package com.arquitecturajava;

import java.util.List;
import java.util.Map;
import java.util.Set;

public class Principal {
 public static void main(String[] args) {
  
  List<String> lista=List.of("hola","que","tal","estas");
  lista.forEach(System.out::println); 
 }
}

Era algo que hacía mucha falta ya que anteriormente había que usar el método de la clase Arrays.toList para conseguir algo similar. El resultado se muestra en la consola.

Java 9 Collections y Set.of

De igual manera podemos trabajar con los Set


Set<Integer> lista2=Set.of(1,2,3,4,5,6);
  
lista2.forEach(System.out::println);


Que nos imprimirá la lista de números.

El resultado es es curioso ,  los elementos no salen en orden . Recordemos que la implementación por defecto de un Set es un HashSet , una tabla Hash. Estas estructuras no aseguran un orden.

Java 9 Collections  y Map.of

Por último aunque desde mi punto de vista el más interesante , tenemos el método of a nivel de los mapas que nos permite crear un mapa de elementos de una forma muy directa.


      Map<Integer,String> mapa=Map.of(1,"cecilio",2,"antonio",3,"gema");

       System.out.println(mapa.get(1));

}

En este caso acabamos de crear un mapa que tiene como clave un número y como valor un String . Si solicitamos el número 1 nos imprimirá por la consola Cecilio.

Java 9 Collections aporta muchas novedades , poco a poco tenemos que  irlas conociendo para trabajar de forma cómoda.

Otros artículos relacionados
  1. Java 8 Lambda Expressions (I)
  2. Java 8 Stream y workflows
  3. Java 8 FlatMap y Streams
Artículos externos
  1. Oracle Java 9