90% Программистов не знают ответ на этот вопрос
Автор: pingwit
Загружено: 2023-11-01
Просмотров: 1671
Описание:
Кто справится быстрее с удалением первого элемента: LinkedList или ArrayList?
Дальше вы узнаете ответ почему 🙂
Перед нами две реализации интерфейса List
ArrayList - это лист, внутри которого находится массив
LinkedList - это двунаправленный список, с указателем на начало и конец.
Как происходит удаление первого элемента из ArrayList:
1. Супер быстро находим первый элемент
2. Удаляем нужный элемент
3. И вот тут возникает проблема. Размер массива - это константа, получается, если хотим удалить первый элемент, то необходимо создать новый массив (но на 1 элемент меньше) и скопировать туда все элементы, кроме первого (потому что мы хотим его удалить).
Вот третий пункт - это очень тяжелая операция с вызовом метода System.arrayCopy
Как происходит удаление первого элемента из LinkedList:
1. Супер быстро находим первый элемент (потому что у нас есть указатель на начало и конец списка)
2. Удаляем первый элемент и заменяем ссылку на первый элемент.
Поэтому с удалением первого элемента LinkedList справится гораздо быстрее.
Кстати, у обоих будут проблемы, если мы захотим удалять из середины.
Можете попробовать протестировать это самостоятельно.
Если вам интересны такие видео, напишите об этом в комментариях.
#программирование #обучениепрограммированию #айти #айтикурсы #программированиеснуля
Повторяем попытку...

Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: