Day07_36_Iterator迭代器
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); } } }
-