| 迭代器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 |
|