黑马程序员技术交流社区
标题:
迭代器原理实现<版本2>
[打印本页]
作者:
My_Android
时间:
2016-5-28 22:09
标题:
迭代器原理实现<版本2>
import java.util.Iterator;
/**
* 简化迭代器原理2 加入接口 提供方法
* hasNext();
* next();
* @author hasee
*
*/
public class MyArrayList2 {
/**
* 假设有这么一组数据
*/
private String[] elementData = {"a","b","c","d","e","f","g"};
/**
* 迭代器需要遍历的元素
*/
private int size = elementData.length;
/**
* 定义一个私有的内部类 实现Iterator接口
* @author hasee
*
*/
private class MyIt implements Iterator<String>{
/**
* 表示迭代器的游标,-1 代表没有走过 ,因为数组下标是从0开始的
*/
private int cursor = -1;
/**
* 判断是否存在下一个元素
* @return
*/
public boolean hasNext(){
// cursor+1 < size 即代表有下个一个元素
return cursor+1 < size;
}
/**
* 获取下一个元素
*/
public String next(){
cursor++; //移动一次 游标加+1
return elementData[cursor];
}
/**
* 删除元素 ,没有实现
*/
public void remove(){
}
}
/**
* 提供公共的方法返回一个Iterator接口的实现类
* @return
*/
public Iterator<String> iterator(){
return new MyIt();
}
public static void main(String[] args) {
MyArrayList2 list = new MyArrayList2();
Iterator<String> it= list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2