黑马程序员技术交流社区
标题:
迭代器简单原理实现<最终版本>
[打印本页]
作者:
My_Android
时间:
2016-5-28 22:10
标题:
迭代器简单原理实现<最终版本>
import java.util.Iterator;
/**
* 简化迭代器原理3 匿名内部类
* hasNext();
* next();
* @author hasee
*
*/
public class MyArrayList3 implements java.lang.Iterable<String>{
/**
* 假设有这么一组数据
*/
private String[] elementData = {"a","b","c","d","e","f","g"};
/**
* 迭代器需要遍历的元素
*/
private int size = elementData.length;
/**
* 匿名内部类
* @return
*/
public Iterator<String> iterator(){
return new 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(){
}
};
}
public static void main(String[] args) {
MyArrayList3 list = new MyArrayList3();
Iterator<String> it= list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
//要使用增强for循环,必须实现java。lang。Iterable接口,必须重写iterator()方法
for(String temp:list){
System.out.println(temp);
}
}
}
复制代码
作者:
追风筝的少年
时间:
2016-5-28 23:17
什么贵?看不懂啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2