2010-09-03 57 views
2

我刚开始使用Java。请让我知道这个说法是什么Java矢量帮助

class ABC{ 
transient Vector<int> temp[]; 

ABC(int max) 
{ 
this.temp = new Vector [max]; 
} 

它是否创建一个int大小为max的向量?

我是C++人。

+1

这是否编译? – jjnguy 2010-09-03 19:56:36

+1

@Justin:连一个镜头都没有。事实上,如果我没有错,这段代码看起来像C++。 – Esko 2010-09-03 19:56:55

+0

@Esko,好的,我不这么认为。感谢您的确认。 – jjnguy 2010-09-03 19:58:34

回答

4

这将创建一个Vector对象的数组。数组的长度是任何以“max”传递的值。

如果您想要一个Vector,请关闭[]。需要进行一些更改才能获得上面的代码进行编译。

import java.util.Vector; 

class ABC 
{ 
    transient Vector temp[]; 

    ABC(int max) 
    { 
     this.temp = new Vector[max]; 
    } 
} 
+0

只是为了完整性 - 数组中的向量类型为“int”,类似于C++模板。 – belwood 2010-09-03 20:07:12

+0

@belwood。如果你将一个int传递给一个集合,Java会尖叫。 – Tom 2010-09-03 20:14:13

3

没有,

要创建初始容量最大,你应该

Vector<Integer> v = new Vector (max) 

注意两件事情的矢量:整数的

  • 用法不是int。在Java中,Integer是一个对象,而int是一个基本类型。集合不能使用基本类型,它们使用对象。

  • v的容量不限于max元素。如果插入多于max的整数,它将会增长。

但让API page来说话

Vector类可以实现可增长的 对象数组。与数组一样,它也包含可使用整数索引访问的组件 。 但是,矢量的大小可以增加 或根据需要缩小以适应 在创建矢量后添加和移除项目。

Each vector tries to optimize storage management by maintaining a 

容量和容量增量。容量总是至少与矢量大小一样大 ;它通常是 较大,因为随着元件被添加到矢量 ,矢量的存储 增加块的大小 capacityIncrement。应用程序可以在插入大量的 组件之前增加矢量 的容量;这会减少增量重新分配的数量。

0

以下是有关Vector构造函数的javadoc。你最有可能寻找的是

this.temp = new Vector<int>(max); 
0

ABC类{ 瞬时矢量< 整数>临时[];

ABC(int max) this.temp = new Vector [max]; }

read Integer而不是int。是的,它是有效的代码。