好的,这是我的情况:
我有一个状态数组,其中可能包含重复项。为了摆脱重复,我可以将它们全部添加到一个集合中。
但是,当我创建 Set 时,它希望定义初始容量和负载因子,但是应该将它们设置为什么?
从谷歌搜索,我想出了:
String[] allStates = getAllStates();
Set<String> uniqueStates = new HashSet<String>(allStates.length, 0.75);
问题在于 allStates 可以包含 1 到 5000 个状态。因此 Set 的容量将超过 5000,但最多只能包含 50 个。
因此,或者将 Set 的最大大小设置为最大状态数,并将负载因子设置为 1。
我想我的问题真的是:
- 当您不知道 Set 中有多少项目时,您应该将初始容量设置为多少?
- 当它可以包含的最多是 50 时,它设置为什么真的很重要吗?
- 我什至应该担心它吗?