Introducción
En Java, podemos inicializar una List
en una sola línea de código utilizando una variedad de enfoques. En este laboratorio, aprenderemos diferentes métodos para inicializar List
en Java de manera concisa.
💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí
En Java, podemos inicializar una List
en una sola línea de código utilizando una variedad de enfoques. En este laboratorio, aprenderemos diferentes métodos para inicializar List
en Java de manera concisa.
Podemos crear una List
a partir de una matriz utilizando el método asList()
. Este método toma directamente los elementos como parámetros y devuelve una lista de tamaño fijo. Si se intenta agregar un elemento, se lanza una UnsupportedOperationException
.
import java.util.Arrays;
import java.util.List;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = Arrays.asList("red", "blue", "green");
System.out.print("Colors List : " + colorsList); //Output : [red, blue, green]
}
}
Para ejecutar el código, abra la línea de comandos, navegue hasta el directorio del proyecto y ejecute los siguientes comandos:
javac ListInitializationDemo.java
java ListInitializationDemo
Los flujos de Java se pueden utilizar para crear una List
a partir de los elementos del flujo utilizando el método collect()
.
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = Stream.of("red", "blue", "green")
.collect(Collectors.toList());
System.out.print("Colors List : " + colorsList); //Output : [red, blue, green]
}
}
Para ejecutar el código, abra la línea de comandos, navegue hasta el directorio del proyecto y ejecute los siguientes comandos:
javac ListInitializationDemo.java
java ListInitializationDemo
Java 9 proporciona un método List.of() sobrecargado para listas mutables e inmutables.
import java.util.List;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = List.of("red", "blue", "green");
System.out.print("Colors List : " + colorsList); //Output : [red, blue, green]
}
}
Para ejecutar el código, abra la línea de comandos, navegue hasta el directorio del proyecto y ejecute los siguientes comandos:
javac ListInitializationDemo.java
java ListInitializationDemo
La Inicialización de Doble Llave se puede utilizar para una Clase Anónima Interna para inicializar una List
.
import java.util.List;
import java.util.ArrayList;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = new ArrayList<String>() {
{
add("red");
add("blue");
add("green");
}
};
System.out.print("Colors List : " + colorsList); //Output : [red,blue,green]
}
}
Para ejecutar el código, abra la línea de comandos, navegue hasta el directorio del proyecto y ejecute los siguientes comandos:
javac ListInitializationDemo.java
java ListInitializationDemo
Apache Commons Collections proporciona el método unmodifiableList()
que devuelve una vista no modificable de la lista especificada.
import java.util.List;
import org.apache.commons.collections4.ListUtils;
import java.util.Arrays;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = ListUtils.unmodifiableList(
Arrays.asList("red", "blue", "green")
);
System.out.print("Colors List : " + colorsList); //Output : [red,blue,green]
}
}
Para ejecutar el código, abra la terminal, vaya al directorio del proyecto y ejecute los siguientes comandos:
javac -cp commons-collections4-4.4.jar ListInitializationDemo.java
java -cp commons-collections4-4.4.jar:. ListInitializationDemo
La biblioteca Guava proporciona el método newArrayList()
que devuelve una ArrayList
mutable inicializada con los elementos.
import java.util.List;
import com.google.common.collect.Lists;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = Lists.newArrayList("red", "blue", "green");
System.out.print("Colors List : " + colorsList); //Output : [red,blue,green]
}
}
Para ejecutar el código, abra la terminal, vaya al directorio del proyecto y ejecute los siguientes comandos:
javac -cp guava-31.0.1-jre.jar ListInitializationDemo.java
java -cp guava-31.0.1-jre.jar:. ListInitializationDemo
Guava también proporciona la clase ImmutableList que devuelve una lista inmutable.
import java.util.List;
import com.google.common.collect.ImmutableList;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = ImmutableList.of("red", "blue", "green");
System.out.print("Colors List : " + colorsList); //Output : [red,blue,green]
}
}
Para ejecutar el código, abra la terminal, vaya al directorio del proyecto y ejecute los siguientes comandos:
javac -cp guava-31.0.1-jre.jar ListInitializationDemo.java
java -cp guava-31.0.1-jre.jar:. ListInitializationDemo
En Java, hay numerosas maneras de inicializar una List
en una sola línea de código. Hemos visto cómo utilizar Java 8 Stream para crear una List
, el uso del método Arrays.asList()
y el método List.of()
para las versiones de Java posteriores a la 9. También hemos visto la Inicialización de Doble Llave y un ejemplo de cómo se pueden utilizar bibliotecas Java externas como Apache Commons Collections y Guava.