黑马程序员技术交流社区

标题: ArrayList中的迭代器原码 [打印本页]

作者: Alina    时间: 2015-5-31 14:25
标题: ArrayList中的迭代器原码
public interface Iterator
{
  public abstract boolean hasNext();
  public abstract Object next();
}

public interface Collection
{
  public abstract Iterator iterator();
}

public interface List extends Collection
{
  ...
}

public class ArrayList implements List
{
  public Iterator iterator() {
        return new Itr();
    }
   
    private class Itr implements Iterator {
        public boolean hasNext() {
            return xxx;;
        }
        public E next() {
            return xxx;
        }
    }
}



用法:
  //多态
  Collection c = new ArrayList();
  //添加元素
  c.add("hello");
  c.add("world");
  c.add("java);
  
  Iterator it = c.iterator(); //把Itr返回来了,而Itr实现了Iterator接口。所以,这是多态的体现。
  while(it.hasNext())
  {
   String s = it.next();
   System.out.println(s);
  }




作者: 踽踽行者    时间: 2015-5-31 22:02
恩,很好




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2