这是我第一次在这里发布,但我迫切需要一些Java专业知识(或者也许只是另一组眼睛)。将属性写入二维数组
我正在写一个ArrayList对象(结果)到一个2d数组。我正在尝试使用嵌套循环。基本上每行都被输入,并且检查第一列以查看它是否与具有相同“团队”属性的ArrayList中的任何匹配。如果它找到一个匹配它处理它并将其删除,它将继续直到列表结束,然后退出以重复下一行的处理。
它似乎工作,但是当它找到一个匹配并处理它(不包括删除它)它似乎不会继续寻找更多的匹配内循环。
任何人都可以告诉我为什么它不会继续循环?
这里是我的代码:
private String[][] addScores(String[][] dataTable)
{
for(int r = 0; r < dataTable.length; r++)
{
Iterator<Result> itr = outcomes.iterator();
Result temp = new Result();
while(itr.hasNext())
{
temp = itr.next();
//If a team is found.
if (dataTable[r][0] == temp.team)
{
//Increases matches played.
dataTable[r][1] = String.valueOf(Integer.parseInt(dataTable[r][1]) + 1);
if(temp.result == WIN)
{
dataTable[r][2] = String.valueOf(Integer.parseInt(dataTable[r][2]) + 1);
}
if(temp.result == DRAW)
{
dataTable[r][3] = String.valueOf(Integer.parseInt(dataTable[r][3]) + 1);
}
if(temp.result == LOSE)
{
dataTable[r][4] = String.valueOf(Integer.parseInt(dataTable[r][4]) + 1);
}
//removes entry.
itr.remove();
break;
}
}
}
return dataTable;
}
感谢您的回复,但我之前尝试过使用HashMap,但如果团队名称相同,则put方法只会找到具有相同名称的密钥并将其替换,因此团队名称必须是唯一的。 – kieranroneill 2012-03-23 03:57:40
因此,您首先尝试获取与“团队名称”键关联的值,如果检索失败,则只插入新条目。 – 2012-03-23 19:47:06