Sobes.tech
Junior — Middle

Qual tipo de coleção é mais adequado para adicionar elementos de forma eficiente no meio da estrutura?

sobes.tech IA

Resposta da IA

Para adicionar elementos de forma eficiente ao meio de uma estrutura em Java, a coleção LinkedList é a mais adequada.

LinkedList implementa uma lista duplamente ligada, o que permite inserir elementos em qualquer lugar da lista em tempo O(1), se houver uma referência para o nó necessário. Ao contrário do ArrayList, onde inserir no meio requer deslocar elementos e leva O(n).

Exemplo de uso do LinkedList:

import java.util.LinkedList;

LinkedList<String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("D");

// Inserir "C" na posição 2 (entre B e D)
list.add(2, "C");

System.out.println(list); // [A, B, C, D]

Se precisar acessar frequentemente elementos por índice, deve-se considerar que o acesso ao LinkedList é O(n), ao contrário do ArrayList, que é O(1).