关于Java中的迭代器
2007-03-24 11:13
218 查看
public interface Iterator<E>
对集合进行迭代的迭代器。迭代器代替了 Java Collections Framework 中的 Enumeration。迭代器与枚举有两点不同:
迭代器允许调用方利用定义良好的语义在迭代期间从迭代器所指向的集合移除元素。
方法名称得到了改进。
下面的写法:List <String> sl=new ArrayList<String>();
sl.add("aa");
sl.add("bb");
sl.add("cc");
sl.add("dd");
for(String s : sl){
System.out.println(s);
sl.remove(s);
}
在运行的过程中,会抛出java.util.ConcurrentModificationException,也就是说,在迭代的过程中,是不允许删除Collaction中的元素的。
要在迭代的过程中,删除某些元素,则必须按照下面的写法:
for(Iterator it=sl.iterator();it.hasNext();){
System.out.println(it.next());
it.remove();
}
对集合进行迭代的迭代器。迭代器代替了 Java Collections Framework 中的 Enumeration。迭代器与枚举有两点不同:
迭代器允许调用方利用定义良好的语义在迭代期间从迭代器所指向的集合移除元素。
方法名称得到了改进。
下面的写法:List <String> sl=new ArrayList<String>();
sl.add("aa");
sl.add("bb");
sl.add("cc");
sl.add("dd");
for(String s : sl){
System.out.println(s);
sl.remove(s);
}
在运行的过程中,会抛出java.util.ConcurrentModificationException,也就是说,在迭代的过程中,是不允许删除Collaction中的元素的。
要在迭代的过程中,删除某些元素,则必须按照下面的写法:
for(Iterator it=sl.iterator();it.hasNext();){
System.out.println(it.next());
it.remove();
}
相关文章推荐
- Java集合迭代器之fail-fast机制: 关于java集合的遍历以及ConcurrentModificationException(并发操作异常)
- 关于Java中的迭代器
- 关于java中的迭代器实现层次
- 关于java的内部类---由迭代器是实现引出
- java关于迭代器的分析...设计更通用的容器遍历方法
- java关于迭代器的分析...设计更通用的容器遍历方法
- Caused by: java.sql.SQLSyntaxErrorException: ORA-00942: 表或视图不存在,分页等关于hibernate测试的几个问题
- java并发:关于死锁我的一些想法
- 一些关于cookie和java重定向的笔记
- 黑马程序员__关于学习Java的IO流中FileReader的总结
- 关于java.lang.RuntimeException: Unknown animation name: cn.pedant.SweetAlert.Rotate3dAnimation error:c
- 一个java迭代器Iterator的小实验
- 关于java中beanutils的自定义时间转换器的笔记
- 作业:用JAVA写一个简单的关于数字相加的小程序
- java关于ServletConfig FilterConfig什么用
- java关于数值型和数值型包装类判断相等的条件
- java关于关于split分割符
- 关于JAVA中的static方法、并发问题以及JAVA运行时内存模型
- java中关于String 类型数据 的存储方式
- 关于java反射的几个方法