我有这段代码:
newArray = new String[][]{{"Me","123"},{"You","321"},{"He","221"}};
我想动态地这样做。 添加更多元素,比如它。
我该怎么做?
PS:不使用Vector,只需使用String[][]
;
答案 0 :(得分:8)
您无法更改数组的大小。您必须创建一个新阵列并将旧阵列中的所有内容复制到新阵列。
这就是为什么使用像ArrayList
,HashSet
这样的java集合类更容易的原因......
答案 1 :(得分:0)
您无法更改数组的大小。我认为你有一些选择:
List<List<String>>
存储字符串列表Map<String,String>
Vector
往往不会被使用,顺便说一句。每个方法调用都会Vector
同步,因此会出现性能损失(现在虚拟机可以忽略不计)
答案 2 :(得分:0)
Java没有像其他语言那样调整数组大小的工具。
但是
你不会看到String数组和ArrayList<String>
(javadoc)之间的区别,除非你特别要求这样做(比如在家庭作业中)
有些方法可以声明一个巨大的数组,这样你就不会用完空间但是如果你需要动态改变大小,我强烈建议ArrayList
。并且ArrayList
提供了一些不可能(直接)使用数组的可能性,作为奖励。
答案 3 :(得分:0)
如果可以在使用数组之前计算数组的大小,则可以使用数组。在您的示例中,似乎我们只需要知道第一个数组的大小。因此,您可以对可以保存的记录数量进行一些限制,或者您可以查询用户以了解需要保存多少记录或类似的记录。
但同样,使用Collections更容易。