iterator使用

来源:互联网 发布:公司网络配置方案 编辑:程序博客网 时间:2024/06/03 18:47

迭代器(Iterator)

  迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。

Iterator是一个接口,利用迭代器主要是获取元素,很少删除元素。有三个方法:
    1)hasNext():判断是否有更多的元素,如果有返回true。
    2)next():在hasNest()的判断下,如果有更多的元素,就返回下一个元素。
    3)Remove() 删除所返回的上一个元素。(可选操作)至少要返回一次才能删除元素。也就是说如果上一个元素都没有,那么怎么能删除呢?那不是要出现异常了吗? 
具体操作:
    1)定义一个Iterator类型的变量it,在集合框架当中Collection提供了一个方法iterator(),可以返回一个迭代器。只要是间接继承或者直接继承Collection的都有这个方法。所以可以用ArrayList的一个对象al去返回一个迭代器。

  Java中的Iterator功能比较简单,并且只能单向移动:

  (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。

  (2) 使用next()获得序列中的下一个元素。

  (3) 使用hasNext()检查序列中是否还有元素.

  (4) 使用remove()将迭代器新返回的元素删除。

  Iterator是Java迭代器最简单的实现,为List设计的ListIterator具有更多的功能,它可以从两个方向遍历List,也可以从List中插入和删除元素。

public static void main(String[] args) {

List list = new ArrayList();

list.add("a");

list.add("b");

list.add("c");

list.add("d");

list.add("e");

Iterator it = list.iterator();//迭代器,一般在集合里面的东西,都用这个来读取数据

while (it.hasNext()) {

System.out.println(it.next());

}

}

}

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

Iterator 用在JSP页面 是 接收参数然后循环输出的

在类里面也是我2了

举个类的例子

hasNext()判断还有没有;next()选择下一个!

import java.util.*;

public class Test {

public static void main(String[] args){

List l = Arrays.asList("one two three four five six seven".split(" "));

Iterator it = l.iterator();

while(it.hasNext())

System.out.println(it.next());

}

}

输出

one

two

three

four

five

six

seven