Ответ
HashMap, HashSet, LinkedHashMap, LinkedHashSet и HashTable используют hashCode() для хранения и поиска элементов.
Пример с HashMap:
val map = HashMap<String, Int>()
map["key"] = 42 // hashCode() ключа "key" определяет бакет
println(map["key"]) // 42
Важно:
- Если
hashCode()не переопределён корректно, возможны коллизии. equals()должен быть согласован сhashCode()(еслиa == b, тоa.hashCode() == b.hashCode()).HashTableустарел, вместо него лучше использоватьConcurrentHashMap.