Cómo inicializar un ArrayList en Java
Vamos a ver cómo inicializar un ArrayList en Java en función de nuestras necesidades. Hay múltiples y diversas formas, en este artículo veremos las más frecuentes y comunes.
Hacer uso de Arrays.asList() para inicializar un ArrayList desde un Array
Vamos a hacer uso del constructor de ArrayList para pasar los elementos que queremos inicializar a través de asList():
ArrayList<String> fruits = new ArrayList<String>( Arrays.asList("apple", "orange", "banana") );
Uso de List.of desde Java 9 para inicializar un ArrayList en Java
Podemos hacer uso del método static List.of() para construir listas no modificables. Pero hay que tener en cuenta que no podemos hacer uso de la operación add().
List<String> fruits = List.of("apple", "orange", "banana");
Haciendo uso del API de Stream de Java
Con la aparición de los Stream de Java podemos crear e inicializar un array gracias a lo métodos toList() y toCollection():
El método toList() devuelve a través de la interfaz collector una nueva lista con los valores pasados al Stream.
List<String> fruits = Stream.of("apple", "orange", "banana").collect(Collectors.toList());
El método toCollection() crear una collection haciendo uso de Collector y pasándole una instancia nueva de ArrayList.
List<String> fruits = Stream.of("apple", "orange", "banana").collect(Collectors.toCollection(ArrayList::new));
Haciendo uso del API Collections de Java
A través de la clase Collections podemos utilizar diferentes métodos para crear una lista.
- unmodifiableList()
- singletonList()
El método Collections.unmodifiableList() nos devuelve una lista no modificable a partir de una serie de elementos:
List<String> fruits = Collections.unmodifiableList(Arrays.asList("apple", "orange", "banana"));
El otro método que nos proporciona el API Collections de Java es singletonList() que nos devuelve una lista no modificable con un único elemento:
List<String> fruits = Collections.singletonList("apple");
Con la librería Guava
Otra aproximación para inicializar ArrayList en Java es hacer uso de la librería Guava.
La librería Guava nos proporciona diferentes métodos para crear listas inmutables:
- ImmutableList.of
- ImmutableList.copyOf
Por ejemplo si queremos inicializar un ArrayList en Java con ImmutableList.of podemos hacerlo de la siguiente manera:
List<String> fruits = ImmutableList.of("apple", "orange", "banana");
Otro método que nos proporciona la librería de Guava para inicializar una lista en Java es immutableList.copyOf(), el cual devuelve una lista con los elementos especifícados:
ImmutableList<String> fruits = ImmutableList.copyOf(Arrays.asList("apple", "orange", "banana"));
Como observación, ImmutableList.copyOf devuelve null si alguno de los elementos es null.
Conclusión
En esta entrada sobre cómo inicializar un ArrayList en Java hemos visto las diferentes aproximaciones que tenemos para poder inicializar y crear un ArrayList.
Si necesitas más información puedes escribirnos un comentario o un correo electrónico a refactorizando.web@gmail.com o también nos puedes contactar por nuestras redes sociales Facebook o twitter y te ayudaremos encantados!