Sobes.tech
Junior

O que é ArrayList?

sobes.tech IA

Resposta da IA

ArrayList — é uma matriz dinâmica em Java, implementada com base numa matriz comum.

Características principais:

  • Tamanho dinâmico: pode crescer ou diminuir à medida que elementos são adicionados ou removidos.
  • Acesso indexado: os elementos estão acessíveis pelo seu índice (começando em 0).
  • Ordem dos elementos: mantém a ordem de adição dos elementos.
  • Não é seguro para múltiplos threads: não é sincronizado, para cenários multithread usa-se Vector ou Collections.synchronizedList.
  • Desempenho:
    • Adicionar/remover no final O(1) em média (tempo amortizado).
    • Adicionar/remover no meio O(n) (é necessário deslocar elementos).
    • Acesso por índice O(1).
    • Pesquisa de elemento O(n).

Exemplo de uso:

import java.util.ArrayList;

// Criação de ArrayList
ArrayList<String> nomes = new ArrayList<>();

// Adicionar elementos
nomes.add("Alice");
nomes.add("Bob");
nomes.add("Charlie");

// Acesso a um elemento por índice
String primeiroElemento = nomes.get(0); // "Alice"

// Tamanho do ArrayList
int tamanho = nomes.size(); // 3

// Remover um elemento
nomes.remove("Bob"); // Remove a primeira ocorrência de "Bob"
nomes.remove(0); // Remove o elemento no índice 0 (agora "Charlie")

// Percorrer elementos
for (String nome : nomes) {
    System.out.println(nome);
}