【发布时间】:2010-11-21 23:26:59
【问题描述】:
我不经常使用 java,现在我遇到了一些问题。 我想读取这样的 CSV 文件:
A、B、C、D
A,B,F,K
E,F,S,A
A,B,C,S
A,C,C,S
Java 不知道动态数组,所以我选择了一个 ArrayList。到目前为止,这有效。问题是:
如何存储 ArrayList?我认为另一个 ArrayList 会有所帮助。
这就是我得到的:
BufferedReader reader = new BufferedReader(
new InputStreamReader(this.getClass().getResourceAsStream(
"../data/" + filename + ".csv")));
List rows = new ArrayList();
String line;
while ((line = reader.readLine()) != null) {
rows.add(Arrays.asList(line.split(",")));
}
现在我得到一个大小为 5 的 rows.size() 的 ArrayList。
例如,我如何获得 row[0][0] ?
我想做什么?问题是我想找到除了最后一列之外的同一行。 例如,我想找到第 0 行和第 3 行。 非常感谢你
谢谢大家!你帮了我很多。 =) 也许 Java 和我会成为朋友 =) 谢谢!
【问题讨论】:
-
您可以逐行读取 csv,并将每个条目(不包括最后一列)存储在 HashSet 中。然后,如果你读到一个新行,你可以检查 HashSet 是否已经包含相同的条目(使用 contains() 方法)。