Java ArrayList + Iterator笔记

来源:互联网 发布:单片机代码工具 编辑:程序博客网 时间:2024/06/16 04:25
ArrayList<Double> list = new ArrayList();Double d;Iterator<Double> iter = list.iterator();while (iter.hasNext()){    d = iter.next();    // do something on 'd'}

注意:

  1. ArrayList在Java1.7中已经提供了size()函数。
  2. Iterator的remove()会对后续操作产生影响,如果在某次操作中使用了remove(),则往后的操作中再次使用Iterator时,被remove掉的元素不再存在。
  3. ArrayList的iterator方法返回的并不是第一个元素,而是其之前,所以得先调用next()再输出。
针对第二点,例子如下:
public void f1(){    Iterator<Double> iter = list.iterator();    while (iter.hasNext()){        iter.remove();    }}public void f2(){    Iterator<Double> iter = list.iterator();    while (iter.hasNext()){        // do something    }}

如果f1()先调用,再调用f2()时,f2中声明的Iter是空的,即iter.hasNext()返回false,因为f1()中已经把所有元素都remove了。

原创粉丝点击