有没有办法使用ArrayList()
方法将字符串从用户输入添加到数组中?我有一个程序提示用户从 JTextBox 输入某个输入,我想将此输入存储到一个数组中。
我是学生,因此提示和解释将优于简单的答案。
提前致谢!
有没有办法使用ArrayList()
方法将字符串从用户输入添加到数组中?我有一个程序提示用户从 JTextBox 输入某个输入,我想将此输入存储到一个数组中。
我是学生,因此提示和解释将优于简单的答案。
提前致谢!
ArrayList
是一个类,而不是一个方法。如果要将字符串放入数组中,则需要跟踪
1) 数组的大小,或可以输入多少值的合理上限。
2) 当前索引
您可以将输入的字符串放入数组中。
String[] strings = new String[SOME_MAX];
...
strings[currentIndex] = userEnteredString;
这样做的缺点是您需要预先知道数组的大小。
如果你不这样做,那么你可以使用一个List
实现。
List<String> strings = new ArrayList<String>();
然后只需使用该add
方法添加字符串。
要取回数组,您可以执行
strings.toArray()
这显然有一个缺点,就是最后只能得到数组,所以如果整个过程都需要使用数组,这是不可接受的。
有没有办法使用 ArrayList() 方法将字符串从用户输入添加到数组中?
最简洁的答案是不。数组具有固定数量的元素。添加更多元素的唯一方法是创建一个新数组。这个限制是 Java 语言和 JVM 的基础,没有聪明的方法可以绕过它。
您可以使用ArrayList
Hvgotcodes 所描述的 ,但这涉及创建一个新数组。
更直接的方法是使用其中一种Arrays.copyOf(...)
方法创建一个新数组,然后添加额外的元素;例如
String[] bigger = Arrays.copyOf(strings, string.length + 1);
bigger[bigger.length - 1] = extraString;