首先,这次讨论的Iterator是Java中的Iterator,不是C中的。
起因:
ArrayList observer = new ArrayList();
...
Iterator i = observer.iterator();
...
Iterator i = observer.iterator();
解释:
- Iterator,枚举器,枚举observer里的所有元素。
- Iterator是java中数据结构的一种,arrayList也是其中的一种啊,由于ArrayList是继承于java.util.List的,所以ArrayLIst的对象可以调用List的方法,而iterator()就是List的一个方法,调用该方法后返回一个基于ArrayList中内容的iterator结果集,然后可以根据返回的对象访问各个数据,基本方法为hasNext()和next()(返回Object类型)和Enumeration差不多的。
- Collection接口定义了方法iterator(),所有继承了Collection接口的类都具有iterator方法。在你想遍历一个collection系对象时使用,例如你在ArrayList对象中存储了一系列的object,想把他们逐一顺序取出时。
- java.util.list是Collection的subinterfaces,ArrayList是java.util.list的Implement Class