这里面c.iterator();是直接意思,没看懂是直接调用接口?

解决方案 »

  1.   

    不明白你说什么, c.iterator(),  返回的是 ArrayList 自己的一个内部类, 这个内部类实现了Iterator 接口
      

  2.   

    Java 集合 之 Iterator 迭代器 http://www.verejava.com/?id=17159874583439
      

  3.   

    迭代器(Iterator)  迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。  Java中的Iterator功能比较简单,并且只能单向移动:  (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。  (2) 使用next()获得序列中的下一个元素。  (3) 使用hasNext()检查序列中是否还有元素。  (4) 使用remove()将迭代器新返回的元素删除。  Iterator是Java迭代器最简单的实现,为List设计的ListIterator具有更多的功能,它可以从两个方向遍历List,也可以从List中插入和删除元素。 迭代器应用:复制代码
     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);
     }
     */
    复制代码
      Iterator的接口定义: public interface Iterator {  
      boolean hasNext();  
      Object next();  
      void remove();  
    }  
     使用: Object next():返回迭代器刚越过的元素的引用,返回值是Object,需要强制转换成自己需要的类型    boolean hasNext():判断容器内是否还有可供访问的元素    void remove():删除迭代器刚越过的元素迭代使用方法:(迭代其实可以简单地理解为遍历,是一个标准化遍历各类容器里面的所有对象的方法类)for(Iterator it = c.iterator(); it.hasNext(); ) {  
      Object o = it.next();  
       //do something  
    }  
      

  4.   

    c.iterator(); 是java中迭代器的意思不是直接的意思
      

  5.   

    去看java api Collection类里的 iterator方法Iterator<E> iterator()    返回在此 collection 的元素上进行迭代的迭代器。关于元素返回的顺序没有任何保证(除非此 collection 是某个能提供保证顺序的类实例)。    指定者:
            接口 Iterable<E> 中的 iterator     返回:
            在此 collection 的元素上进行迭代的 Iterator 
    希望采纳
      

  6.   

    我来解答一下吧  楼主  你点进去Iterator,会发现里面是空的,因为你看到的是Collection接口中的东西,此时还没实现那么 真正的实现在哪里呢?废话不多说, 以你这个例子为例 点开ArrayList类的源码 找到iterator方法看到new Itr()了吧  继续跟踪  点进去可以看到 调用接口真正调用的方法的是ArrayList类中的iterator()方法  真正返回的实例是ArrayList类中的一个内部类Itr的实例
    纯手打 总结不易 还望采纳~
      

  7.   

    就是把所有实现Collection接口的类可以转化成一个迭代器(说白了实质就是一个list一样的存在),你可以直接使用Iterator的方法去操作这个类.
    比如说 list set等 .
    这两个都可以直接转化成iterator,然后使用 remove 或者next 方法去操作.
    但是值得注意的是 如果转化为iterator后,对于之前的list 或者set是不能进行操作的.
    如果进行操作会报错的!
      

  8.   

    1、c是ArrayList类的实例对象,ArrayList这个类里面有一个iterator()方法,这个iterator()方法返回值类型是Iterator<E>。
    2、为什么要调iterator()方法呢,主要是为了输出ArrayList这个集合中的值,输出集合的方法,一般是用foreach语句或者调用iterator()这个方法。
    3、iterator()方法返回值类型是Iterator<E>,所以对象类型Iterator,这个Iterator<E>接口里面有hasNext()方法和forEachRemaining方法。这时就可以调用Iterator<E>的这两个方法,输出集合内容了。
      

  9.   

    iterator() 是集合的迭代器,是一个方法,直接调用的