Java 中的向量容量和 Vector(int x, int y) 方法



这是我创建的向量类,

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

最新更新