Ограничен ли объем у LinkedList

«Ограничен ли объем у LinkedList» — вопрос из категории Алгоритмы и структуры данных, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

LinkedList в Java не имеет жесткого ограничения по объёму, но его размер ограничен доступной памятью (Integer.MAX_VALUE - 8 элементов, т.е. ~2^31).

Особенности:

  • Каждый элемент хранит ссылки на предыдущий и следующий узлы, что увеличивает потребление памяти.
  • При добавлении элементов динамически выделяется память под новые узлы.
LinkedList<String> list = new LinkedList<>();
// Теоретически можно добавить до Integer.MAX_VALUE элементов
for (int i = 0; i < Integer.MAX_VALUE; i++) {
    list.add("Item " + i); // OutOfMemoryError при нехватке памяти
}

Важно: На практике лимит зависит от доступной памяти JVM. При её исчерпании будет OutOfMemoryError.