HOWTO · Java
Inicializar Lista de Strings em Java
Este tutorial explica como inicializar Lista de strings em Java
Neste tutorial, veremos várias formas de inicializar uma lista de strings em Java. Uma vez que a lista é uma interface, não a podemos instanciar directamente.
Utilizar ArrayList, LinkedList e Vector para Instanciar uma Lista de Strings em Java
Uma List é uma interface infantil de Collections em Java. É uma colecção ordenada de objectos que podem armazenar valores duplicados. A instância de Lista pode ser criada utilizando classes que implementam a interface de List.
ArrayList, Vector, LinkedList e Stack são algumas destas classes. Criamos uma instância myList de uma List utilizando new ArraList<String>(). Portanto, podemos declarar e criar uma instância de List utilizando qualquer uma das seguintes formas mostradas abaixo e realizar várias operações nessa List.
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;
public class ListExample {
public static void main(String[] args) {
List<String> myList = new ArrayList<String>();
List<Fruits> lList = new LinkedList<Fruits>();
List<Integer> vList = new Vector<Integer>();
myList.add("Happy");
myList.add("Coding");
lList.add(new Fruits("Grapes", "Green"));
lList.add(new Fruits("Apple", "Red"));
vList.add(1);
vList.add(4);
vList.add(9);
vList.add(7);
vList.remove(2);
for (String s : myList) {
System.out.println(s);
}
for (Fruits f : lList) {
System.out.println(f.name + " is " + f.color + " in color.");
}
for (int i : vList) {
System.out.println(i);
}
}
}
class Fruits {
String name;
String color;
Fruits(String name, String color) {
this.name = name;
this.color = color;
}
}
Resultado:
Happy
Coding
Grapes is Green in color.
Apple is Red in color.
1
4
7
Utilize a Arrays.asList para instanciar uma List de String em Java
O método Arrays.asList devolve uma lista de tamanho fixo que é apoiada por um array. Este é apenas um invólucro que torna o array disponível como uma lista. Não podemos modificar esta lista, uma vez que é imutável.
Aqui no código, obtemos uma instância de List chamada myList cujo comprimento não pode ser modificado.
import java.util.Arrays;
import java.util.List;
public class ListExmp {
public static void main(String[] args) {
List<String> myList = Arrays.asList("John", "Ben", "Gregor", "Peter");
String name = myList.get(3);
System.out.println(name);
}
}
Resultado:
Peter
Utilize Stream em Java 8 para Instanciar uma List de String em Java
Java 8 Stream inclui envoltórios em torno de uma fonte de dados que torna um processo volumoso sobre os dados fácil e conveniente.
O método Stream.of() constrói um fluxo de dados e recolhe-os numa lista. A interface Collector fornece a lógica para esta operação. O Collector.toList() recolhe todos os elementos do fluxo de dados numa instância de List.
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class ListExmp {
public static void main(String[] args) {
List<String> list = Stream.of("john", "doe").collect(Collectors.toList());
if (list.contains("doe")) {
System.out.println("doe is there");
} else {
System.out.println("doe is not there");
}
}
}
Resultado:
doe is there
Utilize o List.of para instanciar uma List de String em Java
O List.of é o novo método introduzido em Java 9. No código abaixo, o método List.of() toma qualquer número de argumentos e retorna uma lista imutável. Temos a Lista imutável como uma instância inalterável de List.
Temos de instanciar a ArrayList com uma lista imutável como parâmetro para criar uma lista mutável. Como mostrado no código abaixo, podem ser feitas modificações na instância mutableList da List.
import java.util.ArrayList;
import java.util.List;
public class ListExmp {
public static void main(String[] args) {
List<String> immutableList = List.of("One", "Two", "Three", "Four", "Five");
List<String> mutableList = new ArrayList<>(List.of("Six", "Seven", "Eight"));
for (String l : immutableList) {
System.out.println(l);
}
System.out.println("XXXXXX");
mutableList.add("Nine");
for (String l : mutableList) {
System.out.println(l);
}
}
}
Resultado:
One
Two
Three
Four
Five
XXXXXX
Six
Seven
Eight
Nine