Ответ
В HashMap элементы получаются по ключу через метод get(). Алгоритм работает так:
- Вычисляется хеш ключа (
key.hashCode()) - Находится бакет (корзина) по формуле
hash & (capacity - 1) - В бакете ищется элемент с совпадающим ключом (через
equals())
Пример:
val map = hashMapOf("a" to 1, "b" to 2)
val value = map.get("a") // 1
Сложность в среднем O(1), но может деградировать до O(n) при коллизиях. Для корректной работы важно, чтобы ключи правильно реализовывали hashCode() и equals().