zoukankan      html  css  js  c++  java
  • Java 迭代器须知 | “for each”与迭代器的关系

      Iterator接口包含4个方法:

      通过反复调用next方法就可以逐个访问集合中的每个元素。需要注意,如果到达了集合的末尾,再次调用next方法将会抛出一个NoSuchElementException,因此,通常遍历在调用next方法前先调用hasNext方法。

      如果想要遍历集合中的所有元素,可以请求一个迭代器,并在hasNext方法返回true时反复地调用next方法,如:

     1 public static void main(String[] args) {
     2         List<String> nameList = new LinkedList<>();
     3         nameList.add("aaa");
     4         nameList.add("bbb");
     5         nameList.add("ccc");
     6         nameList.add("ddd");
     7         Iterator<String> nameIterator = nameList.iterator();
     8         while (nameIterator.hasNext()) {
     9             System.out.println(nameIterator.next());
    10             //nameIterator.remove();
    11         }
    12     }

      也可以使用“for each”更加简练地实现同样地操作:

     1     public static void main(String[] args) {
     2         List<String> nameList = new LinkedList<>();
     3         nameList.add("aaa");
     4         nameList.add("bbb");
     5         nameList.add("ccc");
     6         nameList.add("ddd");
     7         for (String name : nameList) {
     8             System.out.println(name);
     9         }
    10     }

      事实上,“for each”会被编译器翻译为带有迭代器地循环。

  • 相关阅读:
    java 键盘监听事件
    DOM扩展
    DOM
    CSS hack
    客户端检测
    BOM
    函数表达式
    面向对象的程序设计
    引用类型(下)
    引用类型(上)
  • 原文地址:https://www.cnblogs.com/XiaoZhengYu/p/11938588.html
Copyright © 2011-2022 走看看