有没有办法使用ArrayList()
方法从用户输入向数组中添加字符串?我有一个程序,提示用户从JTextBox输入某个输入,我想将此输入存储到数组中。
我是学生,因此提示和解释比简单的答案更受欢迎。
提前致谢!
答案 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;