Java迭代器注意事项

来源:互联网 发布:mac电脑转换视频格式 编辑:程序博客网 时间:2024/06/07 03:52

java迭代器是用来遍历集合的

Iterator迭代器:

1.它是一个接口,是不能实例化的。

只能接收集合类对象调用自己的iterator方法来生成的Iterator对象

2.迭代器Iterator有3个方法

boolean hasNext()如果仍有元素可以迭代(用来判断当前指针指向的下一位置是否还有元素),有返回true

E next() 返回迭代的下一个元素(指针指向下一位置,并返回指向的元素)

       void  remove()删除当前迭代的元素

3. 用来遍历集合时,需要hasNext()方法和next()方法配合使用

4.在遍历的过程中,不允许对集合进行增删操作。如果想要对集合进行删除操作,也必须调用迭代器的remove()方法



代码演示:

import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class iterator {public static void main(String[] args) {// TODO Auto-generated method stubList list=new ArrayList();//创建一个线性表   这里运用多态list.add("one");list.add("#");list.add("two");list.add("#");list.add("three");list.add("#");Iterator it=list.iterator();//返回线性表的迭代器while(it.hasNext())   //遍历线性表 ,先检查是否还有元素可以迭代  {String element=(String) it.next();//取出迭代的元素if("#".equals(element))//如果元素=="#",则删除{it.remove();//true//<span style="color:#ff0000;">list.remove(element);//Error</span>}System.out.println(element);}System.out.println(list);}}

结果

one#two#three#[one, two, three]

ListIterator迭代器:

ListIterator允许对于容器中的元素进行双向遍历,而Iterator是单向的。

       它的方法有

hasPrevious()   hasNext()previous()        next()nextPrevious() nextIndex() remove()         add()set()




0 0
原创粉丝点击