Introdução
Em Java, podemos inicializar uma List em uma única linha de código usando uma variedade de abordagens. Neste laboratório, aprenderemos diferentes métodos para inicializar Lists em Java de forma concisa.
Em Java, podemos inicializar uma List em uma única linha de código usando uma variedade de abordagens. Neste laboratório, aprenderemos diferentes métodos para inicializar Lists em Java de forma concisa.
Podemos criar uma List usando um array com o método asList(). Este método recebe diretamente os elementos como parâmetros e retorna uma lista de tamanho fixo. Se uma tentativa for feita para adicionar um elemento, uma UnsupportedOperationException será lançada.
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 executar o código, abra o prompt de comando, navegue até o diretório do projeto e execute os seguintes comandos:
javac ListInitializationDemo.java
java ListInitializationDemo
Java Streams podem ser usados para criar uma List para os elementos do stream usando o 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 executar o código, abra o prompt de comando, navegue até o diretório do projeto e execute os seguintes comandos:
javac ListInitializationDemo.java
java ListInitializationDemo
O Java 9 fornece um método List.of() sobrecarregado para listas mutáveis e imutáveis.
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 executar o código, abra o prompt de comando, navegue até o diretório do projeto e execute os seguintes comandos:
javac ListInitializationDemo.java
java ListInitializationDemo
A Inicialização com Chaves Duplas pode ser usada para uma Classe Interna Anônima (Anonymous Inner Class) para inicializar uma 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 executar o código, abra o prompt de comando, navegue até o diretório do projeto e execute os seguintes comandos:
javac ListInitializationDemo.java
java ListInitializationDemo
Apache Commons Collections fornece o método unmodifiableList() que retorna uma visão imutável da 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 executar o código, abra o terminal, vá para o diretório do projeto e execute os seguintes comandos:
javac -cp commons-collections4-4.4.jar ListInitializationDemo.java
java -cp commons-collections4-4.4.jar:. ListInitializationDemo
A biblioteca Guava fornece o método newArrayList() que retorna um ArrayList mutável inicializado com os 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 executar o código, abra o terminal, vá para o diretório do projeto e execute os seguintes comandos:
javac -cp guava-31.0.1-jre.jar ListInitializationDemo.java
java -cp guava-31.0.1-jre.jar:. ListInitializationDemo
Guava também fornece a classe ImmutableList que retorna uma List imutável.
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 executar o código, abra o terminal, vá para o diretório do projeto e execute os seguintes comandos:
javac -cp guava-31.0.1-jre.jar ListInitializationDemo.java
java -cp guava-31.0.1-jre.jar:. ListInitializationDemo
Em Java, existem inúmeras maneiras de inicializar uma List em uma única linha de código. Vimos maneiras de usar o Java 8 Stream para criar uma List, o uso do método Arrays.asList(), e o método List.of() para versões Java após a 9. Também vimos a Inicialização de Chaves Duplas (Double Brace Initialization) e um exemplo de como bibliotecas Java externas como Apache Commons Collections e Guava podem ser usadas.