首页 > 程序开发 > 软件开发 > Java >

Java数据结构学习—Iterator接口

2014-08-09

迭代器是一个对象,它能是我们迭代集合中的所以元素 在Java集合类API中,Iterator接口很小,只包含三个方法: 1 boolean hasNext() 如果在这次迭代中还有迭代浏览的的项,则返回true。 2 AnyType next() 返回这

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

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

}

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());

}

}

相关文章
最新文章
热点推荐