Встречается на собеседованиях • сегодня
Где происходит быстрее итерирование: в ArrayList или LinkedList
`ArrayList` итерируется быстрее, чем `LinkedList`, из-за особенностей хранения данных в памяти.
**Причины:**
- `ArrayList` использует массив, элементы которого расположены в памяти последовательно. Это позволяет эффективно использовать кэш процессора.
- `LinkedList` хранит элементы в узлах, разбросанных по памяти, что приводит к частым промахам кэша и замедляет итерацию.
**Пример:**
```java
List arrayList = new ArrayList<>();
List linkedList = new LinkedList<>();
// Заполнение списков
for (int i = 0; i < 100_000; i++) {
arrayList.add(i);
linkedList.add(i);
}
// Итерация по ArrayList (быстрее)
for (int num : arrayList) { /* ... */ }
// Итерация по LinkedList (медленнее)
for (int num : linkedList) { /* ... */ }
```
**Вывод:** Для частого перебора элементов `ArrayList` предпочтительнее.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы