Pular para o conteúdo principal
Documentos
Palavras-chave JavaMatrizes JavaProgramação orientada a objetos em JavaManuseio de arquivos JavaIntrodução ao JavaNoções básicas da linguagem Java

Java ArrayList

O ArrayList em Java faz parte da estrutura de coleções do Java e pode ser encontrado no pacote java.util. É uma implementação de matriz redimensionável da interface List, que oferece uma maneira conveniente de armazenar coleções de elementos de tamanho dinâmico.

Uso

ArrayList é usado quando você precisa de um array flexível que pode crescer e diminuir de tamanho. Ele permite o acesso aleatório rápido e é adequado para cenários em que são necessárias operações de leitura frequentes.

Sintaxe

ArrayList<Type> arrayListName = new ArrayList<Type>();
  • Type: O tipo de elementos na lista.
  • arrayListName: O nome da instância ArrayList.

Exemplos

Exemplo 1: Operações básicas

import java.util.ArrayList;

public class BasicArrayListExample {
    public static void main(String[] args) {
        ArrayList<String> fruits = new ArrayList<>();
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Orange");

        System.out.println("Fruits: " + fruits);

        fruits.remove("Banana");
        System.out.println("After removal: " + fruits);

        System.out.println("First fruit: " + fruits.get(0));
    }
}

Neste exemplo, um ArrayList do tipo String é criado para armazenar nomes de frutas. O método add() é usado para inserir elementos, remove() exclui um elemento e get() recupera um elemento por seu índice.

Exemplo 2: Iteração em uma ArrayList

import java.util.ArrayList;

public class IterateArrayListExample {
    public static void main(String[] args) {
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(10);
        numbers.add(20);
        numbers.add(30);

        for (int number : numbers) {
            System.out.println(number);
        }
    }
}

Este exemplo demonstra como você pode iterar em um ArrayList usando um loop for-each. É criado um ArrayList do tipo Integer e cada elemento é impresso no console.

Exemplo 3: Classificação de uma ArrayList

import java.util.ArrayList;
import java.util.Collections;

public class SortArrayListExample {
    public static void main(String[] args) {
        ArrayList<String> names = new ArrayList<>();
        names.add("John");
        names.add("Alice");
        names.add("Bob");

        Collections.sort(names);

        System.out.println("Sorted names: " + names);
    }
}

Neste exemplo, um ArrayList do tipo String é classificado usando o método Collections.sort(), que organiza os elementos em ordem natural.

Operações adicionais

A classe ArrayList fornece vários métodos para realizar operações nos elementos:

  • Acesso a itens: Use o método get() para recuperar elementos por índice.
  • Modificação de itens: Use o método set() para alterar um elemento em um índice específico.
  • Remoção de itens: Use o método remove() para excluir um elemento por índice e o método clear() para remover todos os elementos.
  • Obtendo o tamanho da ArrayList: Use o método size() para encontrar o número de elementos no ArrayList.
  • Usando outros tipos: Armazene diferentes tipos de dados em ArrayList usando classes de proteção para tipos primitivos (por exemplo, Integer, Boolean).

Dicas e práticas recomendadas

  • Capacidade inicial: Se o tamanho do site ArrayList for conhecido antecipadamente, especifique uma capacidade inicial para melhorar o desempenho e reduzir a necessidade de redimensionamento.
    ArrayList list = new ArrayList<>(50); // Initial capacity of 50
  • Tipo de segurança: Use genéricos para garantir a segurança do tipo e evitar erros de tempo de execução.
    ArrayList numbers = new ArrayList<>(); // Type-safe declaration
  • Evite o redimensionamento frequente: Minimize as adições e remoções frequentes de elementos para reduzir a sobrecarga das operações de redimensionamento.
  • Use o Iterator para remoção segura: Ao remover elementos durante a iteração, use um Iterator para evitar ConcurrentModificationException.
    Iterator iterator = list.iterator();
    while (iterator.hasNext()) {
        if (condition) {
            iterator.remove();
        }
    }
  • Considere o LinkedList para inserções/exclusões frequentes: Se forem necessárias inserções e exclusões frequentes, considere o uso do site LinkedList, que oferece melhor desempenho para essas operações.

Learn Java Essentials

Desenvolva suas habilidades em Java desde o início e domine os conceitos de programação.
Comece a aprender de graça