Junior — Middle
114
Quelle structure de données permet une suppression plus rapide du dernier élément : ArrayList ou LinkedList ?
Réponse de l'IA
sobes.tech IA
Удаление последнего элемента в LinkedList происходит быстрее, чем в ArrayList. В LinkedList это операция удаления с конца связанного списка, которая выполняется за O(1), так как есть ссылка на последний элемент.
В ArrayList удаление последнего элемента тоже обычно быстрое — амортизированное O(1), так как просто уменьшается размер списка. Однако, если рассматривать строго, то LinkedList гарантирует постоянное время удаления с конца, а ArrayList — амортизированное.
Пример:
ArrayList<Integer> arrayList = new ArrayList<>();
LinkedList<Integer> linkedList = new LinkedList<>();
// Удаление последнего элемента
arrayList.remove(arrayList.size() - 1); // амортизированное O(1)
linkedList.removeLast(); // O(1)