Означает ли тот факт, что я не устанавливаю размер для конструкции словаря, снижение производительности?
Зависит от того, сколько вы собираетесь хранить в HashMap
и как ваш код будет использовать его позже.Если вы можете дать ему примерный показатель заранее, это может быть быстрее, но: «очень важно не устанавливать слишком высокую начальную емкость [...], если важна производительность итерации» * 1 , потому что итерациявремя пропорционально емкости.
Выполнение этого в не критичных для производительности фрагментах кода будет считаться преждевременной оптимизацией.Если вы собираетесь перехитрить авторов JDK, убедитесь, что у вас есть измерения, которые показывают, что ваша оптимизация имеет значение.
каков будет размер хеш-таблицы во время построения?
В соответствии с API документами , 16.
Нужно ли выделять новую память для таблицы при увеличении элементов?
Да,Каждый раз, когда он полнее, чем коэффициент загрузки (по умолчанию = 0,75), он перераспределяет.
Являются ли емкость по умолчанию и адекватная нагрузка
Только вы можете сказать.Профилируйте свою программу, чтобы увидеть, тратит ли она слишком много времени на HashMap.put
.Если это не так, не беспокойтесь.