【发布时间】:2014-01-18 16:40:34
【问题描述】:
大家好,对不起,我是 java 的菜鸟,但我正在尝试做点什么,我需要一个多维数组列表。必须在以下代码中实现:
public static void OpenFile() {
ArrayList<ArrayList<String>> array = new ArrayList<ArrayList<String>>();
int retrival = chooser.showOpenDialog(null);
if (retrival == JFileChooser.APPROVE_OPTION) {
try (BufferedReader br = new BufferedReader(new FileReader(
chooser.getSelectedFile()))) {
String sCurrentLine;
while ((sCurrentLine = br.readLine()) != null) {
if (sCurrentLine.equals("")) {
continue;
} else if (sCurrentLine.startsWith("Question")) {
System.out.println(sCurrentLine.split(":")[1]);
//add to [0] in array ArrayList
} else if (sCurrentLine.startsWith("Answer")) {
System.out.println(sCurrentLine.split(":")[1]);
//add to [1] in array ArrayList
} else if (sCurrentLine.startsWith("Category")) {
System.out.println(sCurrentLine.split(":")[1]);
//add to [2] in array ArrayList
} else if (sCurrentLine.startsWith("Essay")) {
System.out.println(sCurrentLine.split(":")[1]);
//add to [3] in array ArrayList
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
我拆分的字符串的所有 [1] 索引都需要按以下顺序进入一个多维数组:问题、答案、类别、论文。
所以我目前正在使用一个普通的多维数组,但你不能轻易改变它的值。我希望我的多维数组列表看起来像这样:
多维数组列表
- [0]:问题(可能超过 100 个。)
- [1] 个答案(可能超过 100 个。)
- [2]类(可能超过100个。)
- [3]篇文章(可能超过100篇)
【问题讨论】:
-
为什么不创建自己的类,其中有这四个
ArrayLists 作为字段? -
您可以使用另一个数据结构作为
Map<String,List<String>> -
@t0mppa 似乎是处理列表列表的任务:)
-
多维集合是一种强烈的代码气味。使用类
标签: java multidimensional-array arraylist bufferedreader