В ArrayList эффективное число N (N уже предполагает, что будущее растет).
Эмм, нет, если я не понимаю, что вы здесь говорите. Когда вы передадите целое число в конструктор Arraylist, он создаст базовый массив точно такого размера. Если окажется, что вам нужен еще один дополнительный элемент, ArrayList должен будет изменить размер базового массива при следующем вызове add(), в результате чего этот вызов займет намного больше времени, чем обычно.
Если, с другой стороны, вы говорите о своем значении N с учетом роста - тогда да, если вы можете гарантировать, что значение никогда не будет превышать это, тогда целесообразно называть такой конструктор Arraylist. И в этом случае, как указал Хэнк, аналогичным конструктором для карты будет N и 1.0f. Это должно выполняться разумно, даже если вы превысите N (хотя, если вы ожидаете, что это произойдет на регулярной основе, вы можете захотеть передать большее количество для начального размера).
Коэффициент загрузки, если вы не знали, является точкой, в которой карта будет иметь увеличенную емкость, в виде доли от общей емкости.
Редактировать: Yuval, вероятно, прав, что лучше оставить фактор нагрузки около 0,75 для карты общего назначения. Коэффициент загрузки 1,0 будет блестящим образом выполняться, если ваши ключи имеют последовательные хэш-коды (такие как последовательные целочисленные ключи), но для чего-либо еще вы, скорее всего, столкнетесь с конфликтами с хэш-ковши, что означает, что поисковые запросы занимают больше времени для некоторых элементов. Создание большего количества ведер, чем это строго необходимо, уменьшит вероятность столкновения, что означает, что у элементов больше шансов быть в собственных ведрах и, следовательно, быть восстановлен в кратчайшие сроки. Как говорят документы, это время против космического компромисса. Если это особенно важно для вас (как показано профилировщиком, а не преждевременной оптимизации!), Вы можете подчеркнуть это; в противном случае придерживайтесь значения по умолчанию.
Недавно я спросил [аналогичный вопрос] (http://stackoverflow.com/questions/414109/) об общем родовом словаре .NET. Возможно, вы найдете интересную дискуссию. –
См. Также http://stackoverflow.com/questions/7115445/what-is-the-optimal-capacity-and-load-factor-for-a-fixed-size-hashmap – Raedwald