Iterator迭代器和增强for

迭代器

迭代访问==遍历,实现了Iterator接口用来遍历集合的方法

我们知道有序的List集合遍历可以用for循环来实现,但对于无序的Set集合不可用,这时我们就可以使用迭代器来遍历,对外提供了统一的遍历方法

迭代器的使用注意事项:

  1. 如果集合中没有元素忍让调用next方法获取会出现java.util.NoSuchElementException异常
  2. hashNext方法仅仅是判断是否有下一个元素并不会移动指针位置,要通过next方法来移动,因此要两个结合着使用
  3. 遍历过程中不能增删元素,不然会并发修改异常

 

        Iterator<String> iterator = arrayList.iterator();
        while (iterator.hasNext()) {
            String s = iterator.next();
            System.out.println(s);
        }

 

增强for

  JDK1.5新增加的特性,专门用来遍历数组和集合的,本质上属于迭代器

使用注意事项

  1.   因为本质上是迭代器,所以不能增删数据
  2.   必须有循环必须有被遍历的目标,目标只能是Collection或者数组,仅仅作为遍历操作出现

   

int[] arr = {123, 456, 798};
for (int i : arr) {
    System.out.println(i);
}

 

posted @ 2018-08-12 21:19  205李华秋  阅读(110)  评论(0编辑  收藏  举报