gpt4 book ai didi

java - ArrayList 迭代给出异常 java.util.ConcurrentModificationException

转载 作者:行者123 更新时间:2023-11-29 10:02:28 24 4
gpt4 key购买 nike

java.util.ConcurrentModificationException:“当检测到对象的并发修改是不允许的时,方法可能会抛出此异常。”

知道为什么我的 set 方法会给出这个异常吗?

private ArrayList<Double> voltagesList = new ArrayList<Double>();
private ArrayList<String> devicesList = new ArrayList<String>();

public void setVoltage(String device, double voltage) {
for(String d: devicesList){
if(d.equals(device)){
voltagesList.set(devicesList.indexOf(device), voltage);
}
else{
voltagesList.add(voltage);
devicesList.add(device);
}
}
}

最佳答案

您应该使用 Map 而不是使用一对列表。

private final Map<String, Double> deviceVoltageMap = new HashMap<>();

public void setVoltage(String device, double voltage) {
deviceVoltageMap.put(device, voltage);
}

关于java - ArrayList 迭代给出异常 java.util.ConcurrentModificationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19963637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com