Теоретически нет, так как HashMap использует hashCode()
и equals()
для определения местоположения и уникальности ключей. Если разные ключи имеют разные хэш-коды, они будут помещены в разные корзины (buckets) или разные узлы within the same bucket, что не соответствует поведению списка, где элементы индексируются последовательно.
HashMap может казаться работающим как список в случае, когда все ключи добавляются в определенном порядке, и нет конфликтов (коллизий) хэш-кодов, или когда используется linked list в бакетах при большом количестве коллизий. Однако это не гарантированное поведение и зависит от реализации HashMap и распределения хэш-кодов.
Для получения поведения списка с возможностью ассоциативного доступа по ключу, но без строгих гарантий порядка вставки и производительности ArrayList
или LinkedList
, можно использовать LinkedHashMap
. Он сохраняет порядок вставки или порядок досту
Теоретически нет, так как HashMap использует hashCode()
и equals()
для определения местоположения и уникальности ключей. Если разные ключи имеют разные хэш-коды, они будут помещены в разные корзины (buckets) или разные узлы within the same bucket, что не соответствует поведению списка, где элементы индексируются последовательно.
HashMap может казаться работающим как список в случае, когда все ключи добавляются в определенном порядке, и нет конфликтов (коллизий) хэш-кодов, или когда используется linked list в бакетах при большом количестве коллизий. Однако это не гарантированное поведение и зависит от реализации HashMap и распределения хэш-кодов.
Для получения поведения списка с возможностью ассоциативного доступа по ключу, но без строгих гарантий порядка вставки и производительности ArrayList
или LinkedList
, можно использовать LinkedHashMap
. Он сохраняет порядок вставки или порядок досту
Register or sign in to get access to full answers for all questions from the question bank.