LinkedHashMap сочетает в себе характеристики HashMap и LinkedList.
Особенности:
- Порядок хранения: В отличие от HashMap, LinkedHashMap сохраняет порядок вставки элементов (insertion order). Существует также возможность сохранения порядка доступа (access order) — порядок обращения к элементам.
- Производительность: Производительность основных операций (get, put, remove) близка к HashMap (в среднем O(1)), так как используется хэш-таблица. Дополнительные накладные расходы связаны с обслуживанием двусвязного списка.
- Внутренняя структура: Состоит из хэш-таблицы (аналогично HashMap) и двусвязного списка, соединяющего все элементы в порядке их добавления или последнего доступа. Каждый узел в хэш-таблице дополнительно хранит ссылки на предыдущий и следующий элементы