Java:动态更改字符串[] []

时间:2010-10-02 18:18:51

标签: java arrays string vector

我有这段代码:

newArray = new String[][]{{"Me","123"},{"You","321"},{"He","221"}};

我想动态地这样做。 添加更多元素,比如它。

我该怎么做?

PS:不使用Vector,只需使用String[][];

4 个答案:

答案 0 :(得分:8)

您无法更改数组的大小。您必须创建一个新阵列并将旧阵列中的所有内容复制到新阵列。

这就是为什么使用像ArrayListHashSet这样的java集合类更容易的原因......

答案 1 :(得分:0)

您无法更改数组的大小。我认为你有一些选择:

  1. 使用List<List<String>>存储字符串列表
  2. 如果您要存储密钥/值对,请使用Map<String,String>
  3. 这些天,{p> Vector往往不会被使用,顺便说一句。每个方法调用都会Vector同步,因此会出现性能损失(现在虚拟机可以忽略不计)

答案 2 :(得分:0)

Java没有像其他语言那样调整数组大小的工具。

但是
你不会看到String数组和ArrayList<String>javadoc)之间的区别,除非你特别要求这样做(比如在家庭作业中)

有些方法可以声明一个巨大的数组,这样你就不会用完空间但是如果你需要动态改变大小,我强烈建议ArrayList。并且ArrayList提供了一些不可能(直接)使用数组的可能性,作为奖励。

答案 3 :(得分:0)

如果可以在使用数组之前计算数组的大小,则可以使用数组。在您的示例中,似乎我们只需要知道第一个数组的大小。因此,您可以对可以保存的记录数量进行一些限制,或者您可以查询用户以了解需要保存多少记录或类似的记录。

但同样,使用Collections更容易。