首页 > 解决方案 > 迭代器比较和删除

问题描述

我想将列表的第一个元素与所有连续元素进行比较,并增加第一个字符,然后再次比较。

如果元素具有相同的字符,那么我删除该元素的第二次出现

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异常。

请查看此代码或提供替代解决方案。

标签: javaarraylistcollections

解决方案


推荐阅读