Iterator

  • Iterator
  • Iterator iterator(); 获取集合所依赖的迭代对象
  • 通过迭代器iterator()中的方法完成集合的迭代(遍历),这种方式是所有集合通用的遍历方法。
  • 所有集合的迭代器 都实现了 java.util.Iterator 接口。
  • Iterator接口迭代器中有三个遍历方法:
  • boolean hasNext() : 如果集合中仍有元素,还可以继续迭代则返回true,否则false。
  • next() : 返回迭代的下一个元素。
  • remove(): 从迭代器指向的 collection 中,移除迭代器返回的最后一个元素。
  • 调用iterator.next() 方法之前,必须利用iterator.hasNext()判断是否有元素
  • 同一个迭代器只能遍历一次,如果写了两个遍历,则第二个遍历无法输出
  • 迭代器具体应用实例
```

   package com.shige.Collection;

   import java.util.Collection;
   import java.util.Iterator;
   import java.util.LinkedList;

   public class IteratorText {
       public static void main(String[] args) {

           //创建集合对象
           Collection collection = new LinkedList(); // 父类引用指向子类对象

           //创建Customer对象
           Customer customer=new Customer("Eva",22);

           //给集合添加元素
           collection.add(new Integer(100));
           collection.add("诗歌");
           collection.add(customer);


           //创建迭代器对象1
           Iterator iterator= (Iterator) collection.iterator(); //父类引用指向子类对象   iterator()是Iterator接口下的一个方法。

           // 开始调用方法完成迭代

             //while循环写法
            while(iterator.hasNext()){ // 判断集合中是否还有元素
               Object obj=iterator.next(); //将迭代器向下移动一位,并取出所指向的元素
               System.out.println(obj);  //输出元素
            }
          
             //获取集合长度
            System.out.println(collection.size());

           System.out.println("=================================================================================");

          
           // for循环写法
           for(Iterator iterator1=collection.iterator();iterator1.hasNext();){  // 同一个迭代器只能遍历一次,需要遍历几次就创建几个迭代器。
               Object obj1=iterator1.next();
               System.out.println(obj1);
           }

        }
   }