A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© My_Android 中级黑马   /  2016-5-28 22:08  /  440 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. /**
  2. * 简化版实现迭代器原理
  3. * hasNext();
  4. * next();
  5. * @author hasee
  6. *
  7. */
  8. public class MyArrayList {
  9.        
  10.         /**
  11.          * 假设有这么一组数据
  12.          */
  13.         private String[] elementData = {"a","b","c","d","e","f","g"};
  14.        
  15.         /**
  16.          * 迭代器需要遍历的元素
  17.          */
  18.         private int size = elementData.length;
  19.         /**
  20.          * 表示迭代器的游标,-1 代表没有走过 ,因为数组下标是从0开始的
  21.          */
  22.         private int cursor = -1;  
  23.        
  24.        
  25.        
  26.         /**
  27.          * 判断是否存在下一个元素
  28.          * @return
  29.          */
  30.         public boolean hasNext(){
  31.                 // cursor+1 < size  即代表有下个一个元素
  32.                 return cursor+1 < size;
  33.         }
  34.        
  35.         /**
  36.          * 获取下一个元素
  37.          */
  38.         public String next(){
  39.                 cursor++; //移动一次 游标加+1
  40.                 return elementData[cursor];
  41.         }
  42.         /**
  43.          * 删除元素 ,没有实现
  44.          */
  45.         public void remove(){
  46.                
  47.         }
  48.         public static void main(String[] args) {
  49.                 MyArrayList list  = new MyArrayList();
  50.                 while(list.hasNext()){
  51.                         System.out.println(list.next());
  52.                 }
  53.         }
  54. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马