java iterator

 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。 
      Java中的Iterator功能比较简单,并且只能单向移动;
      (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。
              注意:iterator()方法是java.lang.Iterable接口,被Collection继承。
      (2) 使用next()获得序列中的下一个元素。
      (3) 使用hasNext()检查序列中是否还有元素。
      (4) 使用remove()将迭代器新返回的元素删除。
       Iterator是Java迭代器最简单的实现;
              首先看看java.util.Iterator接口的定义:
          public interface Iterator {
                  boolean hasNext();
                 Object next();
                  void remove();
               }
             依赖前两个方法就能完成遍历,典型的代码如下:
          for(Iterator it = c.iterator(); it.hasNext(); ) {
             Object o = it.next();
             // 对o的操作...
          }
          在JDK1.5中,还对上面的代码在语法上作了简化:
              // Type是具体的类型,如String。
        for(Type t : c) {
            // 对t的操作...
        }
          迭代器应用:
         list l = new ArrayList();
         l.add("aa");
         l.add("bb");    
         l.add("cc");
         for (Iterator iter = l.iterator(); iter.hasNext();) {
          String str = (String)iter.next();
          System.out.println(str);
         }
       迭代器用于while循环
         Iterator iter = l.iterator();
         while(iter.hasNext()){
          String str = (String) iter.next();
          System.out.println(str);
         }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章