這是我第一次在這裏發佈,但我迫切需要一些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