64

我想从 for 循环内部将动态数量的元素添加到字符串数组。

如何创建一个未定义长度的字符串数组?

4

3 回答 3

123

Arrays在 Java 中具有定义的大小,以后不能通过添加或删除元素来更改它(您可以在此处阅读一些基础知识)。

相反,使用List

ArrayList<String> mylist = new ArrayList<String>();
mylist.add(mystring); //this adds an element to the list.

当然,如果您事先知道要在数组中放入多少个字符串,则可以创建一个该大小的数组并使用正确的位置设置元素:

String[] myarray = new String[numberofstrings];
myarray[23] = string24; //this sets the 24'th (first index is 0) element to string24.
于 2013-02-23T10:35:37.850 回答
30

使用字符串数组时,您必须在初始化时给出数组的大小

例如

String[] str = new String[10];

您可以使用索引 0-9 来存储值

str[0] = "value1"
str[1] = "value2"
str[2] = "value3"
str[3] = "value4"
str[4] = "value5"
str[5] = "value6"
str[6] = "value7"
str[7] = "value8"
str[8] = "value9"
str[9] = "value10"

如果您使用的是字符串数组的 ArrayList instread,则可以在不初始化数组大小的情况下使用它 ArrayList str = new ArrayList();

您可以使用Arraylist的add方法添加值

str.add("Value1");

从arraylist中获取一个值,你可以使用get方法

String s = str.get(0);

按大小方法查找项目总数

int nCount = str.size();

从这里阅读更多

于 2013-02-23T11:23:35.510 回答
3

您不能在字符串数组中添加超过其大小的添加项目,我建议您使用ArrayList 您可以在运行时在 arrayList 中动态添加项目,如果您觉得有任何问题可以自由询问

于 2013-02-23T10:40:47.753 回答