Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:动态更改字符串[][]_Java_Arrays_String_Vector - Fatal编程技术网

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

Java:动态更改字符串[][],java,arrays,string,vector,Java,Arrays,String,Vector,我有以下代码: newArray = new String[][]{{"Me","123"},{"You","321"},{"He","221"}}; 我想动态地这样做。 添加更多的元素,比如它 我该怎么做 PS:不使用矢量,只使用字符串[] 不能更改数组的大小。您必须创建一个新数组,并将所有内容从旧数组复制到新数组 这就是为什么使用ArrayList、HashSet等java集合类要容易得多的原因。您不能更改数组的大小。我认为你有一些选择: 使用列表存储字符串列表的列表 如果要存储密钥/值对

我有以下代码:

newArray = new String[][]{{"Me","123"},{"You","321"},{"He","221"}};
我想动态地这样做。 添加更多的元素,比如它

我该怎么做


PS:不使用矢量,只使用字符串[]

不能更改数组的大小。您必须创建一个新数组,并将所有内容从旧数组复制到新数组


这就是为什么使用ArrayList、HashSet等java集合类要容易得多的原因。您不能更改数组的大小。我认为你有一些选择:

使用列表存储字符串列表的列表 如果要存储密钥/值对,请使用映射
顺便说一句,现在向量往往不被使用。向量在每次方法调用时都是同步的,因此在现代虚拟机中,性能的影响可以忽略不计。Java不像其他一些语言那样具有调整数组大小的功能

但是 除非在家庭作业中明确要求您这样做,否则您不会看到字符串数组和ArrayList之间的区别


有很多方法可以声明一个巨大的数组,这样就不会耗尽空间,但是如果需要动态更改大小,我强烈推荐ArrayList。作为奖励,ArrayList提供了一些数组无法直接实现的可能性。

如果可以在使用数组之前计算数组的大小,则可以不使用数组。在您的示例中,似乎我们只需要知道第一个数组的大小。所以,您可以对可以保存的记录数施加一些限制,或者您可以查询用户以了解需要保存的记录数或类似信息


但同样,使用集合更容易

在我看来,发布这篇文章的人一定是从一种内置了动态数组(如python)的语言开始编程的。坦根的答案是完美的。有许多允许动态修改的集合类型。我建议他多了解一些泛型。如果我是从python到java,而不是从java到python,泛型一开始看起来会很奇怪。