Inicializar Lista de Strings em Java
-
Utilizar
ArrayList
,LinkedList
eVector
para Instanciar uma Lista de Strings em Java -
Utilize a
Arrays.asList
para instanciar umaList
de String em Java -
Utilize
Stream
em Java 8 para Instanciar umaList
de String em Java -
Utilize o
List.of
para instanciar umaList
de String 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
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn