Хорошо, вот моя ситуация:
У меня есть массив состояний, который может содержать дубликаты. Чтобы избавиться от дубликатов, я могу добавить их все в Set.
Однако, когда я создаю Set, он хочет определить начальную емкость и коэффициент нагрузки, но для чего они должны быть установлены?
От googling я придумал:
String[] allStates = getAllStates();
Set<String> uniqueStates = new HashSet<String>(allStates.length, 0.75);
Проблема с этим состоит в том, что allStates может содержать где-то между 1 и 5000 состояниями. Таким образом, набор будет иметь емкость более 5000, но будет содержать не более 50.
Таким образом, в качестве альтернативы установить максимальный размер Set можно установить как максимальное количество состояний, а коэффициент нагрузки - 1.
Насколько я понимаю, мои вопросы:
- Что вы должны установить начальную емкость, когда вы не знаете, сколько элементов должно быть в Set?
- Действительно ли имеет значение то, на что он настроен, когда он может содержать максимум 50?
- Должен ли я даже беспокоиться об этом?