我試圖替換我的字符串arraylist中的值,但我的arraylist只是似乎添加而不是替換。ArrayList被填充而不是替換索引java
temp是一個從緩衝區讀取器獲取值的字符串。 player_status_line是我的字符串arraylist。
我看不出我做錯了什麼。我檢查數組大小,如果它包含用戶名(getName [2]),我將新值設置爲相同的位置。
這是我所做的,但不知何故,它仍然保存了一切。試圖通過代碼,但看不到問題。
代碼編輯*
while ((checkIfPlayer = bReader.readLine()) != null) {
// Arraylist
String temp = checkIfPlayer.trim();
System.out.println(temp);
if (temp.contains("ZOMBIE") || temp.contains("HUMAN")) {
String[] getName = temp.split(" ");
String checkName = getName[2];
if (!player_status_list.contains(checkName)) {
player_status_list.add(temp);
} else if (player_status_list.contains(checkName)) {
for (int i = 0; i < player_status_list.size(); i++) {
player_status_list.set(i, temp);
}
}
DrawTheMap();
}
}
如果我是你,我會放在一起,演示行爲的小測試案例。只是一個使用硬編碼值和預定義列表做類似事情的主要方法。這樣我們就可以爲自己運行代碼,看看你在說什麼。 –
作爲一個例子,'temp'實際上在字符串中保存了什麼? – gtgaxiola
編輯我的答案以迴應您的代碼更改。 – gtgaxiola