如何从用户输入向数组添加字符串 - Java

时间:2012-04-11 13:39:14

标签: java

有没有办法使用ArrayList()方法从用户输入向数组中添加字符串?我有一个程序,提示用户从JTextBox输入某个输入,我想将此输入存储到数组中。

我是学生,因此提示和解释比简单的答案更受欢迎。

提前致谢!

2 个答案:

答案 0 :(得分:3)

ArrayList是一个类,而不是一个方法。如果要将字符串放在数组中,则需要跟踪

1)数组的大小,或者可以输入多少个值的合理上限 2)当前指数

你可以把输入的字符串放入数组中。

String[] strings = new String[SOME_MAX];
...
strings[currentIndex] = userEnteredString;

这样做的缺点是您需要预先知道阵列的大小。

如果不这样做,那么您可以使用List实施。

List<String> strings = new ArrayList<String>();

然后只需使用add方法添加字符串。

要获得阵列,您可以

strings.toArray()

这显然有一个缺点,即你只能在最后获得数组,所以如果你需要在整个过程中使用数组,这是不可接受的。

答案 1 :(得分:3)

  

有没有办法使用ArrayList()方法从用户输入中向字符串添加字符串?

简短的回答是否定的。数组具有固定数量的元素。添加更多元素的唯一方法是创建一个新数组。这种限制是Java语言和JVM的基础,并且没有巧妙的方法。

您可以使用Hvgotcodes所描述的ArrayList,但这涉及创建新数组。

更直接的方法是使用Arrays.copyOf(...)方法之一创建一个新数组,然后添加额外元素; e.g。

    String[] bigger = Arrays.copyOf(strings, string.length + 1);
    bigger[bigger.length - 1] = extraString;