Sobes.tech
Junior

Quais as principais implementações da interface List em Java que você conhece?

sobes.tech IA

Resposta da IA

Implementações principais da interface List em Java:

  • ArrayList: Array dinâmico baseado em array. Bom para acesso rápido por índice e percorrer, mas lento para inserções e eliminações no meio.
  • LinkedList: Lista duplamente ligada. Eficiente para inserções e eliminações no início e no fim, bem como no meio, mas lento para acesso por índice.
  • Vector: ArrayList sincronizado. Seguro para threads, mas menos eficiente que ArrayList em ambientes de thread única. Considerado obsoleto, é preferível usar Collections.synchronizedList(new ArrayList<...>).
  • Stack: Extende Vector, implementando uma estrutura de pilha (LIFO). Também sincronizado e considerado obsoleto.

Tabela comparativa:

Implementação Base Acesso por índice Inserções/Eliminações (no meio) Sincronizado
ArrayList Array Rápido Lento Não
LinkedList Lista duplamente ligada Lento Rápido Não
Vector Array Rápido Lento Sim
Stack Extende Vector Rápido Lento Sim