我试图替换我的字符串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