- /**
- * 简化版实现迭代器原理
- * hasNext();
- * next();
- * @author hasee
- *
- */
- public class MyArrayList {
-
- /**
- * 假设有这么一组数据
- */
- private String[] elementData = {"a","b","c","d","e","f","g"};
-
- /**
- * 迭代器需要遍历的元素
- */
- private int size = elementData.length;
- /**
- * 表示迭代器的游标,-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) {
- MyArrayList list = new MyArrayList();
- while(list.hasNext()){
- System.out.println(list.next());
- }
- }
- }
复制代码 |
|