黑马程序员技术交流社区

标题: 刚学完集合,自己总结的迭代器的一些区别. [打印本页]

作者: limaowei666666    时间: 2015-8-19 12:13
标题: 刚学完集合,自己总结的迭代器的一些区别.

迭代器Iterator迭代器ListIterator 是继承了Iterator接口的增强for循环Enumeration枚举法
调用方式 Collection 调用方法 iterator返回迭代器Iterator用List中特有的方法调用方法listIterator返回迭代器Listerator直接书写
格式Collection c=new ArrayList( );
Iterator iterator=c.iterator;
List list=new ArrayList( );
ListIterator listerator=list.listIterator;

Enumeration elements=vector.elements();
迭代器使用方式while(iterator.hasNext( )){
  iterator.next(  )
}
while(listerator.hasNext){
  listerator.next( )
}
for(容器内类型  临时变量: 容器){
   内部可以直接使用临时变量访问数据
}
while(elements.hasMoreElements()){
               String thisName=(String)elements.nextElement();
注意事项以及区别不可以对集合中元素做修改
因为集合中元素发生改变而迭代器并不知道会产生并发性修改异常
可以使用迭代器ListIterator中的方法对集中元素进行修改,虽然迭代器不发生变化但是是使用迭代器去完成的动作迭代器知道1;不可以对集合中的元素进行修改,如果添加会造成并发性修改异常
2,底层封装了迭代器的操作。
3,在使用增强for的时候,请保证迭代目标不为null。

应用情况集合集合容器,:集合和数组,一般多用增强for


作者: 柳柳桑    时间: 2015-8-19 15:30
赞一个!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2