Java数据结构学习—Iterator接口

来源:互联网 发布:淘宝热力图在哪里看 编辑:程序博客网 时间:2024/06/05 05:50

迭代器是一个对象,它能是我们迭代集合中的所以元素

在Java集合类API中,Iterator接口很小,只包含三个方法:

1.boolean hasNext()

如果在这次迭代中还有迭代浏览的的项,则返回true。

2.AnyType next()

返回这个迭代器还未看到的对下一个对象的引用,对象变为可见,则迭代器后移。

3.void remove()

三次浏览的最后一个项,在对next的调用之前,只能用一次这种方法。

每个集合都定义了自己的Iterator接口的实现,对java.util包中的

用户而言,此实现在不可见的类中。

实例:基于继承的迭代器和工厂方法

package com.demo.hephec;

public class MyContainer{

Obeject [] items;

int size;

public Iterator iterator(){

return new MyContainerInterator(this);

}

//othre method not shown.

}

//接口Interator

package com.demo.hephec;

public interface Interator{

boolean hasNext();

Object next();

}

//实现接口的迭代器类

package com.demo.hephec;

class MyContainerInterator implements Interator{

private current int =0;

private MyContainer container;

MyContainerInterator(MyContainer c){

container =c;

}

public boolean hasNext(){

return current<container.size();

}

public Object next(){

container,items[currrent++];

}

}

//main方法

public static void main(String[] args){

MyContainer container=new MyContainer();

container.add("3");

container.add("5");

System.out.println("Container content:"):

Interator itr=container.interator();

while(itr.hasNext()){

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

}

}

0 0