List
ArrayList, LinkedList e operações
List é uma interface que representa uma sequência ordenada de elementos que permite duplicatas. As duas implementações mais comuns são ArrayList (array dinâmico — acesso O(1) por índice, boa para leitura frequente) e LinkedList (nós encadeados — inserção/remoção O(1) nas extremidades, boa para muitas escritas).
Os métodos principais: add(elemento), add(índice, elemento), get(índice), set(índice, elemento), remove(índice), size(), contains(objeto), indexOf(objeto), subList(from, to), e iterator(). O utilitário Collections oferece sort(), reverse(), shuffle(), min() e max().
Escolha ArrayList para a maioria dos casos — é mais rápida para acesso aleatório, usa menos memória por elemento e tem melhor localidade de cache. Use LinkedList quando você faz muitas inserções ou remoções no início da lista.
import java.util.*;
List<String> linguagens = new ArrayList<>();
// ── Adicionar ─────────────────────────────────────
linguagens.add("Java");
linguagens.add("Python");
linguagens.add("Go");
linguagens.add(1, "Kotlin"); // insere no índice 1
// ── Acessar ───────────────────────────────────────
System.out.println(linguagens.get(0)); // "Java"
System.out.println(linguagens.size()); // 4
System.out.println(linguagens); // [Java, Kotlin, Python, Go]
// ── Atualizar e remover ───────────────────────────
linguagens.set(2, "Ruby"); // substitui índice 2
linguagens.remove("Go"); // remove por valor
linguagens.remove(0); // remove por índice
// ── Iterar ────────────────────────────────────────
for (String lang : linguagens) {
System.out.println(lang);
}
// ── Ordenar e verificar ───────────────────────────
Collections.sort(linguagens);
System.out.println(linguagens.contains("Java")); // false (removido)
// ── Conversão List ↔ Array ────────────────────────
String[] arr = linguagens.toArray(new String[0]);
List<String> fromArr = Arrays.asList("A", "B", "C");Arrays.asList() retorna uma lista de tamanho fixo — não permite add/remove. Para uma lista mutável, use new ArrayList<>(Arrays.asList(...)).