Back to questions
Junior — Middle
66
Какая структура данных обеспечивает более быстрый удаление последнего элемента: ArrayList или LinkedList?
Answer from AI
sobes.tech AI
Удаление последнего элемента в 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)