我有点困惑这两个看起来对我来说都是一样的.虽然可能会出现不同编译器的容量和大小可能不同的情况.它可能有什么不同.它还说,如果我们内存不足,容量会发生变化.
所有这些事情对我来说都不太清楚.
有人可以给出解释.(如果可能的话和示例,或者如果我可以对任何程序进行任何测试来理解它)
性能Vector和ArrayList?之间真的有那么大差异吗?当线程安全不成问题时,始终使用ArrayLists是一种好习惯吗?
好的,这是我的情况:
我有一个状态数组,可能包含重复项.为了摆脱重复,我可以将它们全部添加到Set中.
但是,当我创建Set时,它需要定义初始容量和负载因子,但它们应该设置为什么?
从谷歌搜索,我想出了:
String[] allStates = getAllStates();
Set<String> uniqueStates = new HashSet<String>(allStates.length, 0.75);
Run Code Online (Sandbox Code Playgroud)
这个问题是allStates可以包含1到5000个状态.因此,Set的容量将超过5000,但最多只能容纳50个.
因此,设置Set的最大大小可以设置为最大状态数,负载因子为1.
我想我的问题确实是: