Neste tutorial, aprenderemos sobre a interface List em Java e seus métodos.
Em Java, a List
interface é uma coleção ordenada que nos permite armazenar e acessar elementos sequencialmente. Ele estende a Collection
interface.
Classes que implementam a lista
Por List
ser uma interface, não podemos criar objetos a partir dela.
Para usar as funcionalidades da List
interface, podemos usar as seguintes classes:
- ArrayList
- LinkedList
- Vetor
- Pilha
Essas classes são definidas na estrutura de coleções e implementam a List
interface.
Como usar a lista?
Em Java, devemos importar o java.util.List
pacote para poder usar List
.
// ArrayList implementation of List List list1 = new ArrayList(); // LinkedList implementation of List List list2 = new LinkedList();
Aqui, criamos os objetos lista1 e lista2 de classes ArrayList
e LinkedList
. Esses objetos podem usar as funcionalidades da List
interface.
Métodos de Lista
A List
interface inclui todos os métodos da Collection
interface. É porque Collection
é uma super interface de List
.
Alguns dos métodos comumente usados da Collection
interface que também estão disponíveis na List
interface são:
add()
- adiciona um elemento a uma listaaddAll()
- adiciona todos os elementos de uma lista a outraget()
- ajuda a acessar aleatoriamente elementos de listasiterator()
- retorna o objeto iterador que pode ser usado para acessar sequencialmente os elementos das listasset()
- muda os elementos das listasremove()
- remove um elemento da listaremoveAll()
- remove todos os elementos da listaclear()
- remove todos os elementos da lista (mais eficiente do queremoveAll()
)size()
- retorna o comprimento das listastoArray()
- converte uma lista em um arraycontains()
- retornatrue
se uma lista contém um elemento especificado
Implementação da Lista de Interface
1. Implementando a classe ArrayList
import java.util.List; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating list using the ArrayList class List numbers = new ArrayList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Resultado
Lista: (1, 2, 3) Elemento acessado: 3 Elemento removido: 2
Para saber mais sobre ArrayList
, visite Java ArrayList.
2. Implementando a classe LinkedList
import java.util.List; import java.util.LinkedList; class Main ( public static void main(String() args) ( // Creating list using the LinkedList class List numbers = new LinkedList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Using the indexOf() method int index = numbers.indexOf(2); System.out.println("Position of 3 is " + index); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Resultado
Lista: (1, 2, 3) Elemento acessado: 3 Posição de 3 é 1 Elemento removido: 2
Para saber mais sobre LinkedList
, visite Java LinkedList.
Lista Java vs. Conjunto
Tanto a List
interface quanto a Set
interface herdam a Collection
interface. No entanto, existe alguma diferença entre eles.
- As listas podem incluir elementos duplicados. No entanto, os conjuntos não podem ter elementos duplicados.
- Os elementos nas listas são armazenados em alguma ordem. No entanto, os elementos em conjuntos são armazenados em grupos como conjuntos em matemática.
Agora que sabemos o que List
é, veremos suas implementações em ArrayList
e LinkedList
classes em detalhes nos próximos tutoriais.