【发布时间】:2018-08-19 03:54:46
【问题描述】:
我在向ArrayList 添加新元素时遇到问题,我会告诉你我的问题:
ArrayList<ArrayList<String>> arr1= new ArrayList<ArrayList<String>>();
ArrayList<String> arr2= new ArrayList<String>();
所以我从一个文本文件中添加新元素,逐行分割,然后逐字分割,例如: 我们假设我的文本文件包含:
a,b,c,d
e,f,g,h
i,j,k,l
我需要将每个单词放入 arr2 中,然后我将 arr2 放入 arr1 中,代码如下:
while ((line = file.readLine()) != null) {
String[] words = line.split("\\,");
if (arr2.isEmpty()) {
for (int ae = 0; ae < words.length; ae++) {
arr2.add(ae, words[ae]);
}
arr1.add(arr2);
} else {
for (int ae = 0; ae < words.length; ae++) {
arr2.set(ae, words[ae]);
}
arr1.add(arr2);
}
}
file.close();
所以我需要的是:[[a,b,c,d],[e,f,g,h],[i,j,k,l]]
但我得到:[[i,j,k,l],[i,j,k,l],[i,j,k,l]]
有什么解决办法吗?!
【问题讨论】:
-
您正在添加相同的列表 (arr2) 3 次。您需要填写和添加单独(新)列表,而不是重新设置相同的列表。
-
你应该每次都创建一个新的
ArrayList<String> arr2= new ArrayList<String>();
标签: java file arraylist multidimensional-array