1. Обзор
В этой статье мы собираемся более подробно изучить самую популярную реализацию интерфейса Map из Java Collections Framework, продолжая с того места, на котором остановилась наша
вступительная статья.
Прежде чем мы приступим к реализации, важно отметить, что основные интерфейсы коллекций List
и Set
расширяют Collection
, а Map
— нет.
Проще говоря, HashMap
хранит значения по ключу и предоставляет API для добавления, извлечения и обработки сохраненных данных различными способами. Реализация основана на принципах хеш-таблицы , которые на первый взгляд кажутся сложными, но на самом деле их очень легко понять.
Пары ключ-значение хранятся в так называемых корзинах, которые вместе составляют то, что называется таблицей, которая на самом деле является внутренним массивом.
Как только мы узнаем ключ, под которым хранится или должен храниться объект, операции хранения и извлечения выполняются за постоянное время , O(1)
в хеш-карте с хорошими размерами.