Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / HashMap, capacity & loadFactor / 8 сообщений из 8, страница 1 из 1
27.06.2017, 10:38
    #39478239
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HashMap, capacity & loadFactor
Всем привет!

Пересматриваю кучу описаний и не могу понять одной простой вещи - в какой момент происходит увеличение корзин (buckets)?
Создаем мапу:
Код: java
1.
Map<Integer, String> map = new HashMap<>(4, 0.75F);


Создалось 4 корзины, каждая корзина имеет свой хэш, и элементы мы будем класть в корзину с таким же хэшем как и у элемента.
Начинаем заполнять какими-то данными.
Теперь для меня непонятный момент - увеличение количества корзин произойдет в какой момент:
1) когда в трех корзинах будет как минимум по одну элементу, и мы получаем элемент который вставляем в 4-ую корзину (т.е. превышаем 0.75)?
если так, тогда непонятно другое - в одной корзине храним 10000 элементов, минусы:
- equals проходит по ним пока не найдет нужный (при get())
- чем больше записей, тем больше коллизий..
2) когда в мапе всего 3 элемента и мы вставляем 4-ый?
если так, тогда не ясно зачем нам куча пустых корзин???

Или я не улавливаю и не вижу чего-то другого?
Просветите пожалуйста.
...
Рейтинг: 0 / 0
27.06.2017, 11:00
    #39478269
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HashMap, capacity & loadFactor
Как можно в IntelliJ IDEA при дебаге увидеть детализацию до такой переменной как threshold?
...
Рейтинг: 0 / 0
27.06.2017, 11:22
    #39478284
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HashMap, capacity & loadFactor
ImperousКак можно в IntelliJ IDEA при дебаге увидеть детализацию до такой переменной как threshold?
Правой кнопкой на объекте -> View as -> Object
Поля будет видно. Локальные переменные - нет. Для этого нужна специальная сборка JDK с отладочной инфой.
...
Рейтинг: 0 / 0
27.06.2017, 11:25
    #39478289
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HashMap, capacity & loadFactor
BlazkowiczImperousКак можно в IntelliJ IDEA при дебаге увидеть детализацию до такой переменной как threshold?
Правой кнопкой на объекте -> View as -> Object
Поля будет видно. Локальные переменные - нет. Для этого нужна специальная сборка JDK с отладочной инфой.
ох какая зачетная красота, спасибо!!!
...
Рейтинг: 0 / 0
27.06.2017, 11:31
    #39478301
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HashMap, capacity & loadFactor
Imperous2) когда в мапе всего 3 элемента и мы вставляем 4-ый?
если так, тогда не ясно зачем нам куча пустых корзин???

Затем что loadFactor это регулятор для Performance/Memory trade off. О чем и сказано в документации.
Чем больше корзин, тем меньше коллизий.
Чем меньше корзин, тем больше коллизий - больше итераций при поиске.
...
Рейтинг: 0 / 0
27.06.2017, 11:39
    #39478311
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HashMap, capacity & loadFactor
BlazkowiczImperous2) когда в мапе всего 3 элемента и мы вставляем 4-ый?
если так, тогда не ясно зачем нам куча пустых корзин???

Затем что loadFactor это регулятор для Performance/Memory trade off. О чем и сказано в документации.
Чем больше корзин, тем меньше коллизий.
Чем меньше корзин, тем больше коллизий - больше итераций при поиске.

Да. Понял уже что именно 2-ой вариант работает. Детализация отладчика объяснила.

Всем спасибо, все стало на свои места. Хотя пустые корзины не дают мне покоя ))))
...
Рейтинг: 0 / 0
27.06.2017, 11:46
    #39478324
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HashMap, capacity & loadFactor
ImperousХотя пустые корзины не дают мне покоя ))))
ArrayList не беспокоит?
...
Рейтинг: 0 / 0
27.06.2017, 12:18
    #39478359
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HashMap, capacity & loadFactor
BlazkowiczImperousХотя пустые корзины не дают мне покоя ))))
ArrayList не беспокоит?
нет, там я спокоен, там пустые только последние )))
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / HashMap, capacity & loadFactor / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]