English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriais Básicos de Java

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Tratamento de Exceção Java

Java 列表(List)

Java Queue(队列)

Java Map 集合

Java Set 集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Lista (List) Java

在本教程中,我们将学习 Java 中的 List 接口及其方法。

在 Java 中,List 接口是一个有序的集合,它允许我们按顺序存储和访问元素。它扩展了集合接口。

实现 List 的类

由于 List 是接口,因此无法从中创建对象。

为了使用 List 接口的功能,我们可以使用以下类:

这些类在 Collections 框架中定义并实现 List 接口。

如何使用 List?

在 Java 中,必须导入 java.util.List 包才能使用 List。

//List 的 ArrayList 实现
List<String> list1 = new ArrayList<>();
// List 的 LinkedList 实现
List<String> list2 = new LinkedList<>();

Aqui, já criamos os objetos list da classe ArrayList e LinkedList1e list2.Agora esses objetos podem usar as funcionalidades do interface List.

Métodos List

O interface List inclui todos os métodos do interface Collection. Isso porque Collection é o superinterface do List.

O interface Collection ainda fornece alguns métodos comuns do interface List:

  • add() - Adicionar elemento à lista

  • addAll() - Adicionar todos os elementos de uma lista para outra

  • get() - Ajuda a acessar elementos da lista aleatoriamente

  • iterator() - Retorna um objeto iterador, que pode ser usado para acessar os elementos da lista em ordem

  • set() - Alterar o elemento da lista

  • remove() - Remover um elemento da lista

  • removeAll() - Remover todos os elementos da lista

  • clear() - Remover todos os elementos da lista (mais eficiente que removeAll())

  • size() - Retorna o comprimento da lista

  • toArray() - Converter a lista para um array

  • contains() -  Retorna true se a lista contiver o elemento especificado

Implementação do interface List

1.Implementar a classe ArrayList

import java.util.List;
import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        //Criar lista usando a classe ArrayList
        List<Integer> numbers = new ArrayList<>();
        //Adicionar elemento à lista
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("Lista: " + numbers);
        //Acessar elemento da lista
        int number = numbers.get(2);
        System.out.println("Acessar elemento: " + number);
        //Remover elemento da lista
        int removedNumber = numbers.remove(1);
        System.out.println("Remoção de Elemento: " + removedNumber);
    }
}

Resultados de Saída

List: [1, 2, 3]
Acesso ao Elemento: 3
Remoção de Elemento: 2

Para obter mais informações sobre ArrayList, acesseArrayList Java.

2.Implementar a classe LinkedList

import java.util.List;
import java.util.LinkedList;
class Main {
    public static void main(String[] args) {
        //Criar lista usando a classe LinkedList
        List<Integer> numbers = new LinkedList<>();
        //Adicionar elemento à lista
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("Lista: " + numbers);
        //Acessar elemento da lista
        int number = numbers.get(2);
        System.out.println("Acessar elemento: " + number);
        //Usar o método indexOf()
        int index = numbers.indexOf(2);
        System.out.println("Posição3o elemento é " + index);
        //Remover elemento da lista
        int removedNumber = numbers.remove(1);
        System.out.println("Remoção de Elemento: " + removedNumber);
    }
}

Resultados de Saída

List: [1, 2, 3]
Acesso ao Elemento: 3
posição3os elementos são 1
Remoção de Elemento: 2

Para obter mais informações sobre LinkedList, acesseJava LinkedList.

Java List e Set

A interface List e a interface Set herdam a interface Collection. No entanto, existem algumas diferenças entre elas.

  • A List pode conter elementos repetidos. No entanto, o Set não pode ter elementos repetidos.

  • Os elementos da List são armazenados em uma certa ordem. No entanto, os elementos do Set são armazenados em grupos, como em um conjunto matemático.

Agora que sabemos o que é List, vamos detalhar a implementação das classes ArrayList e LinkedList nos próximos tutoriais.