Не значит. Для некоторых ключей может получиться такой хэш, что при вызове indexFor(hash, tableLength) индекс будет равен 0. Так же важно не забывать, что при изменении tableLength распределение элементов в таблице будет другим.
Не знаю насколько техническим будет продолжение, но пока что статья больше подходит для гиктаймс. В любом случае интересно будет увидеть следующую часть.
В Конституции РФ, по его словам, записано право на тайну частной жизни, на тайну телефонных разговоров, переписки, прямой запрет без решения суда на сбор, хранение, использование и распространение информации о частной жизни, такие же принципы записаны и в законодательстве других стран, но «на практике сталкиваемся с вопиющим нарушением прав человека
Вспоминают о конституции только когда им нужно пропихнуть очередной идиотский закон или прикрыть свою задницу. Как же надоело наблюдать за этой клоунадой…
У элементов с ключами 4 и 38 хэш-коды равны 4 и 36 соответственно. Но, вычисление индекса по этим хэш-кодам дало одинаковый результат — 4. При другом размере table этой коллизии может не быть, но могут быть другие.
Могу посоветовать предыдущую статью про HashMap, в ней более подробно описаны функции получения хэш-кода и индексов.
Пробовал использовать различные закладочные сервисы, все чем-то не устраивали. Недавно написал свой небольшой сервис с блэкджеком, теперь в нем есть всё что мне нужно.
Сделал небольшой тест — добавляются элементы с ключами от «0» до «1000000», в результате:
1) Самая длинная цепочка — 6 элементов, средняя длинна — 2 элемента
2) 2 раза было зафиксировано время > 0 при обходе цепочек, по ~16мс каждый
Если пренебречь этими двумя проходами, то как раз получится O(1).
Я пробовал добавить большее количество элементов, но памяти не хватило. Однако предварительные данные показали, по п. 2) срабатываний было больше, хотя время на каждый проход так же не превышало ~16мс.
На мой вкус, первый пример из статьи самый удобный и компактный. Внутри хэш-мапа, все его итераторы устроены практически одинаково.
Другой вопрос, если вам нужны только ключи или только значения, то правильнее будет юзать keySet() и values() а то получится что разработчики класса зря старались :)
Раз уж убрали кнопку «Все» в пользу ленты (которая судя по всему не была востребованной), может тогда разработчикам стоило подписать всех на всё, по умолчанию?
Вспоминают о конституции только когда им нужно пропихнуть очередной идиотский закон или прикрыть свою задницу. Как же надоело наблюдать за этой клоунадой…
Могу посоветовать предыдущую статью про HashMap, в ней более подробно описаны функции получения хэш-кода и индексов.
с блэкджеком, теперь в нем есть всё что мне нужно.1) Самая длинная цепочка — 6 элементов, средняя длинна — 2 элемента
2) 2 раза было зафиксировано время > 0 при обходе цепочек, по ~16мс каждый
Если пренебречь этими двумя проходами, то как раз получится O(1).
Я пробовал добавить большее количество элементов, но памяти не хватило. Однако предварительные данные показали, по п. 2) срабатываний было больше, хотя время на каждый проход так же не превышало ~16мс.
Другой вопрос, если вам нужны только ключи или только значения, то правильнее будет юзать keySet() и values()
а то получится что разработчики класса зря старались :)
Думаю да, мапы еще будут, правда в каком виде еще не думал.
За ссылку спасибо, добавил в топик
Добавлять вы можете любой тип, другой вопрос как он их хранит.