Какую начальную емкость я должен использовать для HashSet, в которой я знаю, что я собираюсь вставить 1000 целых чисел, чтобы предотвратить необходимость каких-либо внутренних перестроек?Начальная емкость для HashSet <Integer>
Сначала я должен использовать 1000, но, прочитав описание конструктора, который вводит параметр initialCapacity, он говорит Constructs a new, empty set; the backing HashMap instance has the specified initial capacity and default load factor (0.75).
.
Итак, если я установил емкость 1000, hashMap изменит размер при достижении 750 элементов?
Также я предполагаю, что для эффективности hashMap требуется некоторое «пространство», поэтому решение IC * 0.75 = 1000, чтобы получить что-то вроде 1334, также не может быть лучшим решением или не так ли?
UPDATE:
1) Я знаю, что импликация внутреннего повторного размера не является существенным один, но до сих пор его шанс узнать и лучше понять условия, которые я использую. и усилия должны быть минимальными.
2) Несколько замечаний относительно выбора структуры данных. Пожалуйста, посмотрите мой предыдущий Q здесь: Data structure recommendation, где более точную информацию о моем сценарии.
Вы собираетесь вставить более 1000 целых чисел? –
Так почему бы вам не использовать этот конструктор? 'HashSet (int initialCapacity, float loadFactor)' –
Эти наносекунды должны быть действительно важны для вас. –