例1

public static void main(String[]sdf){
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
Iterator<String> it = list.iterator();
if(it.hasNext()){
it.remove();
}
System.out.println(list.toString());
}

Console:

Exception in thread "main" java.lang.IllegalStateException
at java.util.ArrayList$Itr.remove(Unknown Source)

例2

public static void main(String[]sdf){
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
Iterator<String> it = list.iterator();
if(it.hasNext()){
it.next();
it.remove();
}
System.out.println(list.toString());
}

Console:

[2, 3, 4]

例3

    public static void main(String[]sdf){
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
Iterator<String> it = list.iterator();
if(it.hasNext()){
it.next();
it.next();
it.remove();
}
System.out.println(list.toString());
}

Console:

[1, 3, 4]

例4

public static void main(String[]sdf){
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
Iterator<String> it = list.iterator();
if(it.hasNext()){
it.next();
it.remove();
it.remove();
}
System.out.println(list.toString());
}

Console:

Exception in thread "main" java.lang.IllegalStateException
at java.util.ArrayList$Itr.remove(Unknown Source)

附:

remove

void remove()
从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。每次调用 next 只能调用一次此方法。如果进行迭代时用调用此方法之外的其他方式修改了该迭代器所指向的 collection,则迭代器的行为是不确定的。

抛出:
UnsupportedOperationException - 如果迭代器不支持 remove 操作。
IllegalStateException - 如果尚未调用 next 方法,或者在上一次调用 next 方法之后已经调用了remove 方法。

最新文章

  1. 【设计模式】单例模式 c++实现
  2. arduino红外遥控库IRremote的IRsend类sendRaw函数溢出问题及其解决方法
  3. XE6 &amp; IOS开发之免证书真机调试(3):生成iPA文件并安装到其它苹果设备上(有图有真相)
  4. Linux移植的一般过程
  5. spring笔记2 spring MVC的基础知识2
  6. spring事务学习(转账案例)(一)
  7. centos 安装 openerp
  8. Android最佳性能实践(三)——高性能编码优化
  9. PHP 定时任务|Cron
  10. JavaScript DOM编程基础精华01(DOM入门,DOM模型和获取页面元素,事件,window对象的方法)
  11. 如何用boost::serialization去序列化派生模板类(续)
  12. javascript的框架演化
  13. 达内TTS6.0课件oop_day02
  14. Python元编程
  15. 【java集合系列】--- LinkedList
  16. 《剑指offer》字符串的排列
  17. iOS开发之资料收集
  18. 使用zlib库进行目录打包
  19. Solid Dominoes Tilings (轮廓线dp打表 + 容器)
  20. Unity 通过代码简单实现文理的灰化显示

热门文章

  1. xcode快捷键的使用
  2. dede 首页调用单页-&gt;栏目内容
  3. 【django】django深入学习笔记
  4. java-过滤器-监听器-拦截器
  5. 【转】这些编程语言程序员工资最高!Java才第四
  6. TextView及其子类
  7. ubuntu 切换工作区域
  8. [偏微分方程教程习题参考解答]4.1Duhamel 原理
  9. android SharedPreferences
  10. Android 所有版本区别总结(转)