Мы используем файлы cookie
Мы используем файлы cookie для улучшения работы сайта и предоставления вам персонализированного опыта. Правила использования файлов cookie можно найти в нашей политике конфиденциальности
Коллизия в HashMap
возникает, когда два разных ключа имеют одинаковый хэш-код. Это не приводит к потере данных, но влияет на производительность.
При вставке элемента:
hashCode()
ключа.equals()
для каждого элемента в бакете с новым ключом.equals()
возвращает true
, значение обновляется.equals()
всегда возвращает false
, новый элемент добавляется в бакет.До Android 7.0 (Nougat) HashMap
для разрешения коллизий использовал связные списки. При большом количестве коллизий в одном бакете поиск в связном списке становится O(n), где n — количество элементов в бакете.
С Android 7.0 для бакетов с большим количеством коллизий (порог 8 элементов) HashMap
автоматически преобразует связный список в красно-черное дерево (`TreeNo
Коллизия в HashMap
возникает, когда два разных ключа имеют одинаковый хэш-код. Это не приводит к потере данных, но влияет на производительность.
При вставке элемента:
hashCode()
ключа.equals()
для каждого элемента в бакете с новым ключом.equals()
возвращает true
, значение обновляется.equals()
всегда возвращает false
, новый элемент добавляется в бакет.До Android 7.0 (Nougat) HashMap
для разрешения коллизий использовал связные списки. При большом количестве коллизий в одном бакете поиск в связном списке становится O(n), где n — количество элементов в бакете.
С Android 7.0 для бакетов с большим количеством коллизий (порог 8 элементов) HashMap
автоматически преобразует связный список в красно-черное дерево (`TreeNo
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.