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,泛型一开始看起来会很奇怪。