java list how create
Este tutorial da lista Java explica como criar, inicializar e imprimir listas em Java. O tutorial também explica uma lista de listas com um exemplo de código completo:
Este tutorial irá apresentá-lo à 'lista' da estrutura de dados, que é uma das estruturas básicas na Interface de coleção Java.
Uma lista em Java é uma sequência de elementos de acordo com uma ordem. A interface List do pacote java.util é aquela que implementa essa sequência de objetos ordenados de uma maneira particular chamada List.
=> Verifique TODOS os tutoriais Java aqui.
Assim como as matrizes, os elementos da lista também podem ser acessados usando índices com o primeiro índice começando em 0. O índice indica um elemento particular no índice ‘i’, ou seja, está i elementos longe do início da lista.
Algumas das características da lista em Java incluem:
- As listas podem ter elementos duplicados.
- A lista também pode ter elementos ‘nulos’.
- As listas suportam genéricos, ou seja, você pode ter listas genéricas.
- Você também pode ter objetos misturados (objetos de classes diferentes) na mesma lista.
- As listas sempre preservam a ordem de inserção e permitem o acesso posicional.
O que você aprenderá:
- Lista em Java
- Conclusão
Lista em Java
A interface Java List é um subtipo da interface Java Collection. Esta é a interface padrão que herda a interface Collection do Java.
A seguir, está um diagrama de classes da interface Java List.

Conforme mostrado no diagrama de classe acima, a interface da lista Java se estende da interface Collection do pacote java.util que, por sua vez, se estende da interface Iterable do pacote java.util. A classe AbstractList fornece a implementação básica da interface List.
As classes LinkedList, Stack, Vector, ArrayList e CopyOnWriteArrayList são todas as classes de implementação da interface List que são freqüentemente usadas por programadores. Portanto, existem quatro tipos de listas em Java, ou seja, Stack, LinkedList, ArrayList e Vector.
Portanto, quando você precisa implementar a Interface de lista, pode implementar qualquer uma das classes de tipo de lista acima, dependendo dos requisitos. Para incluir a funcionalidade da interface de lista em seu programa, você terá que importe o pacote java.util. * que contém a interface de lista e outras definições de classes da seguinte maneira:
import java.util.*;Criar e declarar lista
Já afirmamos que List é uma interface e é implementada por classes como ArrayList, Stack, Vector e LinkedList. Portanto, você pode declare e crie instâncias da lista de qualquer uma das seguintes maneiras:
List linkedlist = new LinkedList(); List arrayList = new ArrayList(); List vec_list = new Vector(); List stck_list = new Stack(); Como mostrado acima, você pode criar uma lista com qualquer uma das classes acima e inicializar essas listas com valores. A partir das instruções acima, você pode perceber que a ordem dos elementos mudará dependendo da classe usada para criar uma instância da lista.
Por exemplo, para uma lista com classe de pilha, a ordem é Last In, First Out (LIFO).
Inicializar lista Java
Você pode usar qualquer um dos métodos fornecidos a seguir para inicializar um objeto de lista.
# 1) Usando o método asList
O método asList () já é abordado em detalhes no tópico Arrays. Você pode criar uma lista imutável usando os valores da matriz.
A sintaxe geral é:
List listname = Arrays.asList(array_name);Aqui, o data_type deve corresponder ao da matriz.
A declaração acima cria uma lista imutável. Se você deseja que a lista seja mutável, você deve criar uma instância da lista usando new e, em seguida, atribuir os elementos do array a ela usando o método asList.
Isso é mostrado abaixo:
List listname = new ArrayList (Arrays.asList(array_name));Vamos implementar um programa em Java que mostra a criação e inicialização da lista usando o método asList .
onde posso encontrar minha chave de segurança de rede
import java.util.*; public class Main { public static void main(String() args) { //array of strings String() strArray = {'Delhi', 'Mumbai', 'Kolkata', 'Chennai'}; //initialize an immutable list from array using asList method List mylist = Arrays.asList(strArray); //print the list System.out.println('Immutable list:'); for(String val : mylist){ System.out.print(val + ' '); } System.out.println('
'); //initialize a mutable list(arraylist) from array using asList method List arrayList = new ArrayList(Arrays.asList(strArray)); System.out.println('Mutable list:'); //add one more element to list arrayList.add('Pune'); //print the arraylist for(String val : arrayList){ System.out.print(val + ' '); } } Resultado:

No programa acima, criamos a lista imutável primeiro usando o método asList. Em seguida, criamos uma lista mutável criando uma instância de ArrayList e inicializando essa ArrayList com valores da matriz usando o método asList.
Observe que, como a segunda lista é mutável, também podemos adicionar mais valores a ela.
# 2) Usando List.add ()
Como já foi mencionado, como a lista é apenas uma interface, ela não pode ser instanciada. Mas podemos instanciar classes que implementam essa interface. Portanto, para inicializar as classes de lista, você pode usar seus respectivos métodos de adição, que é um método de interface de lista, mas implementado por cada uma das classes.
Se você instanciar uma classe de lista vinculada conforme abaixo:
List llist = new LinkedList ();Em seguida, para adicionar um elemento a uma lista, você pode usar o método add da seguinte maneira:
llist.add(3);Também existe uma técnica chamada “Inicialização de chave dupla”, na qual a lista é instanciada e inicializada chamando o método add na mesma instrução.
Isso é feito conforme mostrado abaixo:
List llist = new LinkedList (){{ add(1); add(3);}};A declaração acima adiciona os elementos 1 e 3 à lista.
O programa a seguir mostra o inicializações da lista usando o método add . Ele também usa a técnica de inicialização de chave dupla.
import java.util.*; public class Main { public static void main(String args()) { // ArrayList.add method List str_list = new ArrayList(); str_list.add('Java'); str_list.add('C++'); System.out.println('ArrayList : ' + str_list.toString()); // LinkedList.add method List even_list = new LinkedList(); even_list.add(2); even_list.add(4); System.out.println('LinkedList : ' + even_list.toString()); // double brace initialization - use add with declaration & initialization List num_stack = new Stack(){{ add(10);add(20); }}; System.out.println('Stack : ' + num_stack.toString()); } }Resultado:

Este programa tem três declarações de lista diferentes, ou seja, ArrayList, LinkedList e Stack.
Os objetos ArrayList e LinkedList são instanciados e, em seguida, os métodos add são chamados para adicionar elementos a esses objetos. Para pilha, a inicialização de chave dupla é usada na qual o método add é chamado durante a própria instanciação.
# 3) Usando métodos de classe de coleções
A classe de coleções do Java possui vários métodos que podem ser usados para inicializar a lista.
Alguns dos métodos são:
- addAll
O A sintaxe geral para o método addAll de coleções é:
List listname = Collections.EMPTY_LIST; Collections.addAll(listname = new ArrayList(), values…); Aqui, você adiciona valores a uma lista vazia. O método addAll considera a lista como o primeiro parâmetro seguido pelos valores a serem inseridos na lista.
- unmodifiableList ()
O método ‘unmodifiableList ()’ retorna uma lista imutável à qual os elementos não podem ser adicionados nem excluídos.
A sintaxe geral deste método é a seguinte:
List listname = Collections.unmodifiableList(Arrays.asList(values…));O método usa valores de lista como parâmetros e retorna uma lista. Se você tentar adicionar ou excluir qualquer elemento desta lista, o compilador lançará uma exceção UnsupportedOperationException.
- singletonList ()
O método ‘singletonList’ retorna uma lista com um único elemento. A lista é imutável.
A sintaxe geral para este método é:
List listname = Collections.singletonList(value);O seguinte programa Java demonstra todos os três métodos da classe Collections discutido acima.
import java.util.*; public class Main { public static void main(String args()) { // empty list List list = new ArrayList(); // Instantiating list using Collections.addAll() Collections.addAll(list, 10, 20, 30, 40); // Print the list System.out.println('List with addAll() : ' + list.toString()); // Create& initialize the list using unmodifiableList method List intlist = Collections.unmodifiableList( Arrays.asList(1,3,5,7)); // Print the list System.out.println('List with unmodifiableList(): ' + intlist.toString()); // Create& initialize the list using singletonList method List strlist = Collections.singletonList('Java'); // Print the list System.out.println('List with singletonList(): ' + strlist.toString()); } }Resultado:

# 4) Usando Java8 Streams
Com a introdução de fluxos no Java 8, você também pode construir um fluxo de dados e coletá-los em uma lista.
Os seguintes programa mostra a criação de uma lista usando stream.
import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; public class Main { public static void main(String args()) { // Creating a List using toList Collectors method List list1 = Stream.of('January', 'February', 'March', 'April', 'May') .collect(Collectors.toList()); // Print the list System.out.println('List from Java 8 stream: ' + list1.toString()); } }Resultado:

O programa acima coleta o fluxo de string em uma lista e o retorna. Você também pode usar os outros métodos de Coletores, como ‘toCollection’, ‘unmodifiableList’ etc., além de asList na função de coleta.
# 5) Método List.of () do Java 9
Um novo método é introduzido em Java 9, List.of (), que pega qualquer número de elementos e constrói uma lista. A lista construída é imutável.
import java.util.List; public class Main { public static void main(String args()) { // Create a list using List.of() List strList = List.of('Delhi', 'Mumbai', 'Kolkata'); // Print the List System.out.println('List using Java 9 List.of() : ' + strList.toString()); } }Resultado:

Exemplo de lista
A seguir, é fornecido um exemplo completo do uso de uma interface de lista e seus vários métodos.
import java.util.*; public class Main { public static void main(String() args) { // Creating a list List intList = new ArrayList(); //add two values to the list intList.add(0, 10); intList.add(1, 20); System.out.println('The initial List:
' + intList); // Creating another list List cp_list = new ArrayList(); cp_list.add(30); cp_list.add(40); cp_list.add(50); // add list cp_list to intList from index 2 intList.addAll(2, cp_list); System.out.println('List after adding another list at index 2:
'+ intList); // Removes element from index 0 intList.remove(0); System.out.println('List after removing element at index 0:
' + intList); // Replace value of last element intList.set(3, 60); System.out.println('List after replacing the value of last element:
' + intList); } } Resultado:

A saída do programa acima mostra as várias operações realizadas em um ArrayList. Primeiro, ele cria e inicializa a lista. Em seguida, ele copia o conteúdo de outra lista para esta lista e também remove um elemento da lista. Por fim, ele substitui o último elemento da lista por outro valor.
Exploraremos os métodos de lista em detalhes em nosso próximo tutorial.
Lista de impressão
Existem vários métodos com os quais você pode imprimir os elementos da lista em Java.
Vamos discutir alguns dos métodos aqui.
# 1) Usando For Loop / Enhanced For Loop
A lista é uma coleção ordenada que pode ser acessada por meio de índices. Você pode usar o loop for que é usado para iterar usando os índices para imprimir cada elemento da lista.
Java tem outra versão do loop for conhecido como loop for aprimorado que também pode ser usado para acessar e imprimir cada elemento da lista.
O programa Java mostrado abaixo demonstra a impressão do conteúdo da lista usando for loop e aprimorado for loop.
import java.util.List; import java.util.ArrayList; import java.util.Arrays; class Main{ public static void main (String() args) { //string list List list = Arrays.asList('Java', 'Python', 'C++', 'C', 'Ruby'); //print list using for loop System.out.println('List contents using for loop:'); for (int i = 0; i Resultado:

# 2) Usando o método toString
O método ‘toString ()’ da interface de lista retorna a representação de string da lista.
O programa abaixo demonstra o uso do método toString ().
import java.util.List; import java.util.ArrayList; class Main{ public static void main (String() args){ //initialize a string list List list = new ArrayList(){{add('Python');add('C++');add('Java');}}; // string representation of list using toString method System.out.println('List contents using toString() method:' + list.toString()); } } Resultado:

estrutura de dados do gráfico c ++
Lista convertida em matriz
A lista possui um método toArray () que converte a lista em um array. Depois de convertido em um array, você pode usar os métodos de array discutidos no respectivo tópico para imprimir o conteúdo deste array. Você pode usar o método for ou for aprimorado ou até mesmo o método toString.
O exemplo dado abaixo usa o método toString para imprimir o conteúdo do array.
import java.util.*; class Main { public static void main (String() args) { //list of odd numbers List oddlist = Arrays.asList(1,3,5,7,9,11); // using List.toArray() method System.out.println('Contents of list converted to Array:'); System.out.println(Arrays.toString(oddlist.toArray())); } } Resultado:

Usando Java 8 Streams
Os fluxos são introduzidos em Java 8. Você pode fazer uso de fluxos para percorrer a lista. Também existem lambdas usando as quais você pode iterar pela lista.
O programa abaixo mostra o uso de streams para iterar pela lista e exibir seu conteúdo.
import java.util.*; class Main{ public static void main (String() args){ //list of even numbers List evenlist = Arrays.asList(2,4,6,8,10,12,14); // print list using streams System.out.println('Contents of evenlist using streams:'); evenlist.stream().forEach(S ->System.out.print(S + ' ')); } } Resultado:

Além dos métodos discutidos acima, você pode usar iteradores de lista para iterar pela lista e exibir seu conteúdo. Teremos um artigo completo sobre o iterador de lista nos tutoriais subsequentes.
Lista De Listas
A interface de lista Java oferece suporte à 'lista de listas'. Nesse caso, os elementos individuais da lista são novamente uma lista. Isso significa que você pode ter uma lista dentro de outra lista.
Este conceito é muito útil quando você tem que ler dados de, digamos, arquivos CSV. Aqui, pode ser necessário ler várias listas ou listas dentro de listas e armazená-las na memória. Novamente, você terá que processar esses dados e gravar de volta no arquivo. Assim, em tais situações, você pode manter uma lista de listas para simplificar o processamento de dados.
O programa Java a seguir demonstra um exemplo de uma lista de listas Java.
Neste programa, temos uma lista de listas do tipo String. Criamos duas listas separadas de tipo string e atribuímos valores a essas listas. Ambas as listas são adicionadas à lista de listas usando o método add.
Para exibir o conteúdo da lista de listas, usamos dois loops. O loop externo (foreach) itera através das listas de listas que acessam as listas. O loop foreach interno acessa os elementos de string individuais de cada uma dessas listas.
import java.util.ArrayList; import java.util.List; public class Main { public static void main(String() args) { //create list of lists List java_listOfLists = new ArrayList (); //create a language list and add elements to it ArrayList lang_list = new ArrayList(); lang_list.add('Java'); lang_list.add('C++'); //add language list to java list of list java_listOfLists.add(lang_list); //create a city list and add elements to it ArrayList city_list = new ArrayList(); city_list.add('Pune'); city_list.add('Mumbai'); //add the city list to java list of lists java_listOfLists.add(city_list); //display the contents of list of lists System.out.println('Java list of lists contents:'); java_listOfLists.forEach((list) -> //access each list { list.forEach((city)->System.out.print(city + ' ')); //each element of inner list }); } } Resultado:

A lista de listas Java é um conceito pequeno, mas é importante especialmente quando você precisa ler dados complexos em seu programa.
perguntas frequentes
P # 1) O que é uma lista e conjunto em Java?
Responda: Uma lista é uma coleção ordenada de elementos. Você pode ter elementos duplicados na lista.
Um conjunto não é uma coleção ordenada. Os elementos do conjunto não são organizados em nenhuma ordem específica. Além disso, os elementos do conjunto precisam ser únicos. Não permite duplicatas.
P # 2) Como funciona uma lista em Java?
Responda: A lista é uma interface em Java que se estende da interface Collection. As classes ArrayList, LinkedList, Stack e Vector implementam a interface de lista. Assim, um programador pode usar essas classes para usar a funcionalidade da interface de lista.
Q # 3) O que é um ArrayList em Java?
Responda: ArrayList é uma matriz dinâmica. É uma coleção redimensionável de elementos e implementa a interface de lista. ArrayList internamente usa uma matriz para armazenar os elementos.
P # 4) As listas começam em 0 ou 1 em Java?
Responda: Listas em Java têm um índice inteiro baseado em zero. Isso significa que o primeiro elemento da lista está no índice 0, o segundo elemento no índice 1 e assim por diante.
P # 5) A lista está ordenada?
Responda: sim. A lista é uma coleção ordenada de elementos. Essa ordem é preservada, durante a inserção de um novo elemento na lista,
Conclusão
Este tutorial deu uma introdução à interface de lista em Java. Também discutimos os principais conceitos de listas, como criação, inicialização de listas, impressão de listas, etc.
Em nossos próximos tutoriais, discutiremos os vários métodos fornecidos pela interface de lista. Também discutiremos a construção do iterador que é usada para iterar o objeto de lista. Discutiremos a conversão de objetos de lista em outras estruturas de dados em nosso próximo tutorial.
=> Visite aqui para ver a série de treinamento Java para todos.
Leitura recomendada
- Array Java - declarar, criar e inicializar um array em Java
- Matriz de objetos em Java: como criar, inicializar e usar
- Java Hello World - Crie seu primeiro programa em Java hoje
- Implantação Java: Criação e execução de arquivo JAR Java
- Java Virtual Machine: como a JVM ajuda na execução de aplicativos Java
- Modificadores de acesso em Java - Tutorial com exemplos
- Tutorial de reflexão Java com exemplos
- Introdução à linguagem de programação Java - tutorial em vídeo




