-5

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

我是学生,因此提示和解释将优于简单的答案。

提前致谢!

4

2 回答 2

3

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

1) 数组的大小,或可以输入多少值的合理上限。
2) 当前索引

您可以将输入的字符串放入数组中。

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

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

如果你不这样做,那么你可以使用一个List实现。

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

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

要取回数组,您可以执行

strings.toArray()

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

于 2012-04-11T13:42:43.410 回答
3

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

最简洁的答案是不。数组具有固定数量的元素。添加更多元素的唯一方法是创建一个新数组。这个限制是 Java 语言和 JVM 的基础,没有聪明的方法可以绕过它。

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

更直接的方法是使用其中一种Arrays.copyOf(...)方法创建一个新数组,然后添加额外的元素;例如

    String[] bigger = Arrays.copyOf(strings, string.length + 1);
    bigger[bigger.length - 1] = extraString;
于 2012-04-11T13:59:13.047 回答