Получить доступ

ArrayList и LinkedList

Основа с Junior

Динамический массив и связный список изнутри, сложность операций и выбор.

Что важно знать

  • ArrayList — массив, растёт в 1,5 раза; доступ O(1), вставка в середину O(n) из-за сдвига.
  • LinkedList — двусвязный список; доступ O(n), плохая локальность памяти.
  • Начальная ёмкость при известном размере экономит копирования.

Критерии освоения

Junior ≈ 4 ч

  • Объясняет устройство ArrayList и рост массива
  • Называет сложность основных операций ArrayList и LinkedList

Практика. Реализовать свой динамический массив с ростом и сравнить скорость с ArrayList.

Middle ≈ 2 ч

  • Объясняет, почему LinkedList на практике проигрывает даже на вставках

Практика. Замерить JMH вставку в середину ArrayList и LinkedList на разных размерах и объяснить результат.

Вопросы с собеседований

Разборы темы

← Вся карта «Java»

Закрытая бета

Знать тему — половина дела

На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем