Sobes.tech
Junior — Middle

Qual estrutura de dados garante uma remoção mais rápida do último elemento: ArrayList ou LinkedList?

sobes.tech IA

Resposta da IA

A remoção do último elemento em LinkedList é mais rápida do que em ArrayList. No LinkedList, esta operação de remoção do final da lista ligada é feita em O(1), pois há uma referência ao último elemento.

No ArrayList, remover o último elemento também costuma ser rápido — amortizado em O(1), pois simplesmente reduz o tamanho da lista. No entanto, se considerarmos estritamente, o LinkedList garante um tempo constante para remoção do final, enquanto o ArrayList é amortizado.

Exemplo:

ArrayList<Integer> arrayList = new ArrayList<>();
LinkedList<Integer> linkedList = new LinkedList<>();

// Remover o último elemento
arrayList.remove(arrayList.size() - 1); // O(1) amortizado
linkedList.removeLast(); // O(1)