Java集合内存消耗

Rec*_*cct 1 java memory collections

假设我实例化了100 000个向量

a[0..100k] = new Vector<Integer>();
Run Code Online (Sandbox Code Playgroud)

如果我这样做

a[0..100k] = new Vector<Integer>(1);
Run Code Online (Sandbox Code Playgroud)

他们会减少记忆吗?这是忽略他们是否有东西,以及当必须有超过1个元素时扩展它们的开销.

nas*_*nas 8

根据Javadoc,向量的默认容量是10,所以我希望它比容量为1的向量占用更多的内存.

在实践中,您应该使用ArrayList,除非您需要使用另一个需要向量的API.