我有这样的代码:的Java:改变的String [] []动态
newArray = new String[][]{{"Me","123"},{"You","321"},{"He","221"}};
而且我要动态地做到这一点。 添加更多元素,就像它。
我该怎么做? PS:不使用Vector,只使用String[][]
;不使用Vector,只使用String[][]
;不使用Vector,只使用String[][]
;不使用Vector,仅使用String[][]
;
我有这样的代码:的Java:改变的String [] []动态
newArray = new String[][]{{"Me","123"},{"You","321"},{"He","221"}};
而且我要动态地做到这一点。 添加更多元素,就像它。
我该怎么做? PS:不使用Vector,只使用String[][]
;不使用Vector,只使用String[][]
;不使用Vector,只使用String[][]
;不使用Vector,仅使用String[][]
;
您不能更改数组的大小。您必须创建一个新阵列并将旧阵列中的所有内容复制到新阵列。
这就是为什么它更容易使用Java集合类,如ArrayList
,HashSet
,...
您不能更改数组的大小。我觉得你有一些选择:
List<List<String>>
存储字符串列表的列表Map<String,String>
如果你存储键/值对Vector
往往不会这些日子,顺便说一句。每个方法调用都会同步一个Vector
,因此性能会受到影响(现代虚拟机的性能可以忽略不计)
Java没有像其他语言一样调整数组大小的功能。
但
你不会看到一个String数组和ArrayList<String>
(javadoc)之间的区别,除非你被特别要求这样做(像功课)
有很多方法,你可以声明一个巨大的阵所以你不要空间不足但我强烈建议ArrayList
如果您需要动态更改大小。作为奖励,ArrayList
提供了一些不可能(直接)使用数组的可能性。
如果可以在使用数组之前计算数组的大小,您可以使用数组脱身。在你的例子中,我们似乎只需要知道第一个数组的大小。因此,您可以对保存多少条记录施加限制,或者您可以查询用户以了解需要保存多少条记录或类似的内容。
但是,使用Collections更容易。
在我看来,发布这个人的人必须已经开始用Python中动态数组构建的语言编程。 Tangens的回答是完美的。有很多许多类型的集合允许动态修改。 – 2010-10-02 18:25:09
我会推荐他学习更多关于泛型的知识,也许。如果我从Python到java(而不是反过来),仿制药开始看起来很奇怪。 – krs1 2010-10-02 18:36:38