Java Collections

List

ArrayList & LinkedList

Метод ArrayList LinkedList
Получение элемента по индексу O(1) O(n)
Вставка элемента в конец списка O(1) O(1)
Вставка элемента в начало или середину списка O(n) O(1)
Удаление элемента по индексу O(n) O(1)

Java memory

Stack - 1 МБ
HEAP - RAM size

Все примитивные типы и ссылки на объекты хранятся в стэке. Объекты хранятся в куче.

Java HashMap

Сложность операций:

В лучшем случае O(1);

В худшем случае O(log(n));

Как только количество элементов в одной ячейке становится = 8, Структура меняется с LinkedList на Tree.

static final int TREEIFY_THRESHOLD = 8;