我使用CSV
将OpenCSV
文件读入名为ArrayList<String[]>
的{{1}}。这符合预期,因此文件的每一行都在myCSVEntries
内String[]
。
现在我想从myCSVEntries
中提取某些行,并以特定的方式将它们分组到一个名为myCSVEntries
的新变量中。这个想法是这样的:假设文件有某些属于组1的行,有些属于组2,有些其他行不属于组。例如,每组有2行(即两个myGroupedEntries
)。
最终我希望能够访问元素:
String[]
我已将myGroupedEntries.get(ith group.get(nth line.get(kth item in line))
声明为ArrayList&gt;。在处理过程中,我使用myGroupedEntries
声明为tempArray
。 ArrayList<String[]>
收集第1组的相关行。
完成后,我会申请tempArray
。
然后我将myGroupedEntries.add(tempArray)
重置为新的,然后重新开始,但现在用第2组元素填充它。完成后,我再次申请tempArray
。
但是,myGroupedEntries.add(tempArray)
具有类似
myGroupedEntries
myGroupedEntrie
相反,它的结构更像是
myGroupedEntries
- Group1
- group1 line 1
- group1 line 2
- Group2
- group2 line 1
- group2 line 2
我猜测添加 - Group1
- group1 line 1
- Group2
- group1 line 2
- Group3
- group2 line 1
- Group4
- group2 line 2
声明为tempArray
会导致这种情况,但我无法看到我正在尝试获取我正在尝试的结构。
......甚至不确定这是否可行。
任何建议都将不胜感激
代码看起来有点像
ArrayList<String[]>
答案 0 :(得分:1)
您的最终测试
if( tempArrList.size() != 0 )
{
myGroupedEntries.add(tempArrList);
tempArrList = new ArrayList<String[]>();
}
应该在主for
循环之外。现在,只要将任何内容添加到tempArrList
,就会执行它,从而创建您正在获得的结果。