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);
}
}
}