iterator的romove方法的注意事项
2016-05-15 10:20
357 查看
package cn.lonecloud.Iterator; import java.util.ArrayList; import java.util.Iterator; public class myIterator { public static void main(String[] args) { ArrayList<Integer> list=new ArrayList<Integer>(); for (int i = 0; i < 10; i++) { list.add(i); } /** * Exception in thread "main" java.lang.IllegalStateException at java.util.ArrayList$Itr.remove(ArrayList.java:864) at cn.lonecloud.Iterator.myIterator.main(myIterator.java:17) */ Iterator<Integer> iterator=list.iterator(); while (iterator.hasNext()) { Integer integer = (Integer) iterator.next(); System.out.println(integer); iterator.remove(); iterator.remove();//这里会出现错误由于next和remove方法的调用是具有相互依赖性的; //如果没有调用next将是不合法的,会导致IllegalStateException异常 } } }
在iterator 中他的remove的元素是他在next中最后一个next的元素!
相关文章推荐
- PHP基础教程3
- 例题9-2 UVa437 The Tower of Babylon(DP:DAG中的最长路)
- Material Design(二)--UI控件之RecyclerView
- Git 管理代码
- ARM9汇编——adr r0, _start
- 算法竞赛入门例题3-5生成元
- 第94讲, 使用Scala开发集群运行的Spark 实现在线黑名单过滤程序
- iOS 网络编程:NSURLSession
- js中最容易被忽视的事件问题大总结
- Linux/Centos下/lib64/libc.so.6: version `GLIBC_2.14' not found问题
- 杭电1022 train problem
- div中嵌套div水平垂直居中
- python异常处理(基础)
- DAY2 raw_input() 与 input() Python
- 二:侧滑菜单的实现
- 用R语言模拟掷硬币过程
- 自定义ViePage实现禁用滑动和释放的效果
- hadoop集群中的时间同步
- ActionBar切换ViewPager
- JDBC链接MySql数据库的简单讲解