java - 迭代器比较和删除
问题描述
我想将列表的第一个元素与所有连续元素进行比较,并增加第一个字符,然后再次比较。
如果元素具有相同的字符,那么我删除该元素的第二次出现
al =["a1","a","1a","ab"]
a1 and 1a have the same characters and i want to remove 1a
a1 = ["a1","a","ab"]
这是我通过元素编写的代码
while(iter.hasNext()){
current = iter.next();
while(iter.hasNext())
{
String next = iter.next();
if(check(current,next))
a.remove(next);
}
}
在实施这个我得到这个错误
Exception in thread "main"
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
at java.util.ArrayList$Itr.next(Unknown Source)
at anasub.ana(anasub.java:51)
at anasub.main(anasub.java:81)
我尝试使用 for 循环,但是当我删除循环内的元素时,我得到ArrayIndexOutOfBound异常。
请查看此代码或提供替代解决方案。
解决方案
推荐阅读
- python - ValueError:标签数为 1。使用 silhouette_score 时,有效值为 2 到 n_samples - 1(含)
- python - Pandas - InvalidIndexError:重新索引仅对具有唯一值的索引对象有效
- python - 我是否为 python 安装了 pandas (Mac)
- javascript - 如何在两个链接的时间线之间拖动项目?
- .net - 保存文件时发生 System.IO.IO 异常
- php - 为什么在 PHP 中使用 Generator::throw 会在 throw 后忽略产生的值
- excel - Excel VSTO - 厘米/英寸到点的转换不准确
- python - 将日期转换为 pd.datetime
- java - Selenium Web Driver FindElement() 方法不起作用(NoSuchElementException)
- c++ - 如何实现高效的_mm256_madd_epi8?