我有一个看起来像这样的文件:
1st 2nd nth
e1 v1 1
e1 v3 2
e1 v4 4
e1 v5 7
e2 v1 1
. . .
. . .
. . .
我希望第一列是数组列表的名称(e1 或 e2 或 e3),我希望第二列在第 n 个索引内具有它的值(一个 int)。
我该怎么做呢?
如果您想进一步澄清我的意思,请不要害怕留下一个下午。
ps 这是一个更大项目的一部分,但我有点卡在数据的格式上。
我假设我必须寻找一个名称为(第一列)的数组列表,如果我找到它,然后在第 n 个值(第 3 列)处添加值(第 2 列),如果我没有找到它,我创建一个arrayList,然后执行上述操作。
更新
所以我设法让程序几乎可以工作——我不能使用 ArrayLists 的原始结构,因为所有变量都必须在编译期间声明——不能在之后声明。我决定使用哈希图,键具有第一个值,以及第 n 个位置的第二个值的数组列表:
`HashMap<String, ArrayList<Integer>> userRatings = new HashMap<String, ArrayList<Integer>>();
if(!userRatings.containsKey(user)) //The user does not have ratings.
{
ArrayList<Integer> ratings = new ArrayList<Integer>();
// ratings = userRatings.get(user);
for (int j = 0; j < 50; j++)
{
ratings.add(j);
}
userRatings.get(user).add(location,value);
} }
else //The user has ratings
{
userRatings.get(user).add(location,value);**
}
System.out.println(user + " " + userRatings.get(user));
}
bufferReader.close();
} catch (FileNotFoundException e)
{
System.out.println("File does not exist or could not be found.");
}
catch (IOException e)
{
System.out.println("Can't read from file");
}
catch (NullPointerException e)
{
}`
我现在遇到的问题是添加到数组列表中。我将如何在粗体区域中做到这一点?-- 我将如何填充和操作数组列表?