提前感谢您提供给我的任何帮助!基本上我有一个arraylist,每行三个单词用逗号分隔。我想将逗号上的字符串分开,以创建一个每行一个字符串的新数组列表。我被卡住了,因为在我的循环中每次都会覆盖arraylist,所以我的新数组列表只包含orignal数组列表(array1)的最后一行(逗号分隔的3个字符串)。我已经在循环之外声明了第二个数组列表,但每次都会覆盖它。它可能是非常愚蠢的东西,但这里是代码,任何帮助或指针非常赞赏!..
String[] array = new String[array1.size()];
List<String> array2 = new ArrayList<String>();
for (int i = 0; i < array1.size(); i++) {
array = ((array1.get(i)).split(","));
array2 = Arrays.asList(array1);
}
答案 0 :(得分:2)
只需添加 array2.addAll 而不是 array2 = ,这样就可以附加吐出操作的结果
String[] array = new String[array1.size()];
List<String> array2 = new ArrayList<String>();
for (int i = 0; i < array1.size(); i++) {
array = ((array1.get(i)).split(","));
array2.addAll(Arrays.asList(array1));
}
答案 1 :(得分:0)
如果array1
包含文本行,则应该是这样的:
List<String> array1 = ... // your read lines
List<String> splitted = new LinkedList<String();
for(String line : array1) {
String[] splittedLine = line.split(",");
splitted.addAll(Arrays.asList(splittedLine));
}
基本上,您的问题是您已将新列表分配给array2
,而不是向其添加元素。
答案 2 :(得分:0)
问题有点不清楚,但我的猜测是,而不是覆盖列表
array2 = Arrays.asList(array1);
你想追加到它
array2.addAll(Arrays.asList(array1));
但是请注意,这会为每行提供多个元素,使用列表列表或列表列表(每行一个条目,每个条目都包含一个字段列表)可能会更好。