|
|
|
HashMap, capacity & loadFactor
|
|||
|---|---|---|---|
|
#18+
Всем привет! Пересматриваю кучу описаний и не могу понять одной простой вещи - в какой момент происходит увеличение корзин (buckets)? Создаем мапу: Код: java 1. Создалось 4 корзины, каждая корзина имеет свой хэш, и элементы мы будем класть в корзину с таким же хэшем как и у элемента. Начинаем заполнять какими-то данными. Теперь для меня непонятный момент - увеличение количества корзин произойдет в какой момент: 1) когда в трех корзинах будет как минимум по одну элементу, и мы получаем элемент который вставляем в 4-ую корзину (т.е. превышаем 0.75)? если так, тогда непонятно другое - в одной корзине храним 10000 элементов, минусы: - equals проходит по ним пока не найдет нужный (при get()) - чем больше записей, тем больше коллизий.. 2) когда в мапе всего 3 элемента и мы вставляем 4-ый? если так, тогда не ясно зачем нам куча пустых корзин??? Или я не улавливаю и не вижу чего-то другого? Просветите пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 10:38 |
|
||
|
HashMap, capacity & loadFactor
|
|||
|---|---|---|---|
|
#18+
Как можно в IntelliJ IDEA при дебаге увидеть детализацию до такой переменной как threshold? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 11:00 |
|
||
|
HashMap, capacity & loadFactor
|
|||
|---|---|---|---|
|
#18+
ImperousКак можно в IntelliJ IDEA при дебаге увидеть детализацию до такой переменной как threshold? Правой кнопкой на объекте -> View as -> Object Поля будет видно. Локальные переменные - нет. Для этого нужна специальная сборка JDK с отладочной инфой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 11:22 |
|
||
|
HashMap, capacity & loadFactor
|
|||
|---|---|---|---|
|
#18+
BlazkowiczImperousКак можно в IntelliJ IDEA при дебаге увидеть детализацию до такой переменной как threshold? Правой кнопкой на объекте -> View as -> Object Поля будет видно. Локальные переменные - нет. Для этого нужна специальная сборка JDK с отладочной инфой. ох какая зачетная красота, спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 11:25 |
|
||
|
HashMap, capacity & loadFactor
|
|||
|---|---|---|---|
|
#18+
Imperous2) когда в мапе всего 3 элемента и мы вставляем 4-ый? если так, тогда не ясно зачем нам куча пустых корзин??? Затем что loadFactor это регулятор для Performance/Memory trade off. О чем и сказано в документации. Чем больше корзин, тем меньше коллизий. Чем меньше корзин, тем больше коллизий - больше итераций при поиске. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 11:31 |
|
||
|
HashMap, capacity & loadFactor
|
|||
|---|---|---|---|
|
#18+
BlazkowiczImperous2) когда в мапе всего 3 элемента и мы вставляем 4-ый? если так, тогда не ясно зачем нам куча пустых корзин??? Затем что loadFactor это регулятор для Performance/Memory trade off. О чем и сказано в документации. Чем больше корзин, тем меньше коллизий. Чем меньше корзин, тем больше коллизий - больше итераций при поиске. Да. Понял уже что именно 2-ой вариант работает. Детализация отладчика объяснила. Всем спасибо, все стало на свои места. Хотя пустые корзины не дают мне покоя )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 11:39 |
|
||
|
HashMap, capacity & loadFactor
|
|||
|---|---|---|---|
|
#18+
ImperousХотя пустые корзины не дают мне покоя )))) ArrayList не беспокоит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2017, 11:46 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39478311&tid=2122810]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
52ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 338ms |

| 0 / 0 |
