执行iterator.remove()方法时出现java.lang.IllegalStateException

时间:2024-03-31 15:30:26

 Q: 迭代器是开发中很常用的  但是他的remove()不怎么常用   偶尔测试发现他的用法
如果直接执行itertor.remove() 会出现java.lang.IllegalStateException  如下:

     
          执行iterator.remove()方法时出现java.lang.IllegalStateException

A: 查看源代码发现执行reomve如下  而lastRet默认为-1 (源代码中定义)所以会出现这个异常

        执行iterator.remove()方法时出现java.lang.IllegalStateException

而在iterator.next中对其进行赋值  所以说执行remove方法时 首先得执行next()  (必须是在next方法之后执行remove操作)

执行iterator.remove()方法时出现java.lang.IllegalStateException