这是我创建的向量类,
Vector v= new Vector(3,2);
System.out.println("v.capacity: " +v.capacity());
v.addElement(new Integer(1));
v.addElement(new Integer(2));
v.addElement(new Integer(3));
v.addElement(new Integer(4));
System.out.println("v.size "+v.size());
System.out.println("v.capacity: " +v.capacity());
这将结果显示为:
五、容量:3
人尺寸 4
V.容量: 5
如果我改变
Vector v= new Vector(7,2);
它给
V.容量: 7
尺寸 4
V.容量: 7
所以我想知道这第二个容量的实际产量是多少???为什么第二个输出没有给我 9 作为容量大小???
在第一种情况下,您声明了一个初始容量为 3,容量增量为 2 的Vector
。然后,您继续向该向量添加 4 个对象,超过了其初始容量 3。矢量的新容量现在是它的old capacity
+ capacity increment
.
在第二个案例中,您申报了一个初始容量为 7、容量增量为 2 的Vector
。然后,添加 4 个对象不会超过其初始容量 7。因此,目前还不需要增加其容量,因此它仍为 7。如果将 8 个对象添加到第二个向量,您将看到其新容量将为 9。
请查看Vector
文档:https://docs.oracle.com/javase/7/docs/api/java/util/Vector.html