【发布时间】:2013-11-09 18:59:29
【问题描述】:
假设我们在 Java 中定义了一个2d vector。第一个维度的大小是10,第二个维度的大小是1。现在,如果我们想增加这个2d vector 的第一个维度的大小,我们应该怎么做?
假设我们想将数字 1 添加到第 30 个单元格(即 v1[29][0]=1),但我们的向量大小是 10。
这是我的 Java 代码:
Vector [][] v1 = new Vector [10][];
for (int i=0 ; i<10; i++)
if (i==0) {
v1[i]=new Vector[1];
}
else
v1[i]=v1[0];
v1[0][0]=new Vector(1);
【问题讨论】:
-
也许是
java.util.List的实现? -
除非你需要使用数组,否则我建议使用
List<List<YourType>>。作为实现,您可以使用Vector。顺便说一句,如果你的第二维总是1,那么一个简单的一维数组就足够了。 -
感谢 cmets,但我还没有得到好的答案。
-
你误解了你在做什么。这段代码实际上创建了一个 3 维数据结构:一个包含数组的数组,每个数组都包含向量。数组与 Java 中的向量不同。我建议您在尝试继续之前阅读数组和向量之间的区别。