gpt4 book ai didi

java - 哈希集迭代抛出非法状态错误

转载 作者:搜寻专家 更新时间:2023-10-31 19:55:36 25 4
gpt4 key购买 nike

我有两个散列映射,我需要从其中一个中删除一个元素。这就是我现在正在做的。

for(Iterator<Byte> iterator = Ka.iterator(); iterator.hasNext();) {
byte kaValue = iterator.next();
byte potentialPIValue = (byte)(E1a + kaValue);
for(byte actualPIValue : getPIs) {
if (potentialPIValue != actualPIValue )
iterator.remove();
}
}

但是我得到了这个错误,我看不出代码有什么问题。有人知道这里的问题是什么吗?

 exception in thread "main" java.lang.IllegalStateException
at java.util.HashMap$HashIterator.remove(HashMap.java:910)
at DESPrac.main(DESPrac.java:59)

最佳答案

您可能在没有移动到下一个元素的情况下点击了 iterator.remove() 语句两次,因为您是在内部循环中调用它。

尝试

       for(Iterator<Byte> iterator = Ka.iterator(); iterator.hasNext();) {
byte kaValue = iterator.next();
byte potentialPIValue = (byte)(E1a + kaValue);
for(byte actualPIValue : getPIs) {
if (potentialPIValue != actualPIValue ){
iterator.remove();
break; // Exit the inner loop
}
}
}

关于java - 哈希集迭代抛出非法状态错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20415133/

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