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)