gpt4 book ai didi

java - 覆盖 Arraylist 中的现有对象

转载 作者:行者123 更新时间:2023-12-02 06:02:52 29 4
gpt4 key购买 nike

我有一个带有行、列和值变量的对象DataEntry,并且我正在尝试向 ArrayList 添加一个新对象,除非已经有一个具有相同行和列值的对象,然后我现在用新值覆盖 value 我有这个:

public void set(int row, int column, double val) {
DataEntry temp = new DataEntry(row, column, val);
for (int i = 0; i < data.size(); i++)
if (data.get(i).getRow() == row && data.get(i).getColumn() == column)
data.set(i, temp);
else {
data.add(temp);
}
}

它没有正确设置值,我认为它与 data.get(i).getRow()

感谢任何帮助

最佳答案

这是因为无论 data 中的第 i 项是否与行和列匹配,您都会继续搜索。

您应该做的是,当您找到匹配的 i 时从该方法返回,否则继续。如果循环结束时没有找到匹配的索引,请将 temp 添加到 data:

public void set(int row, int column, double val) {

DataEntry temp = new DataEntry(row, column, val);
for (int i = 0; i < data.size(); i++)
if (data.get(i).getRow() == row && data.get(i).getColumn() == column) {
data.set(i, temp);
return;
}
}
data.add(temp);
}

关于java - 覆盖 Arraylist 中的现有对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46925558/

29 4 0