(一)迭代器的介绍
- 迭代器存在的意义:
使用容器,必须对容器的确切类型进行编程。若遇到这种情况:原本是对List进行编码的,但是后来发现能够把相同的代码应用于Set,将会非常方便。此时问题就是如何不重写代码就可以应用于不同类型的容器。—使用迭代器就可以达到这个目的。 - 迭代器是一个对象,它的原理是工作并选择序列中的对象,而客户端程序员不必知道或关心该序列底层的结构。
- 迭代器通常被称为轻量级对象,创建它的代价小。
(二)Iterator
Iterator只能单向移动:
- 使用iterator()要求容器返回一个Iterator。Iterator将准备好返回序列的第一个元素。
- 使用next()获得序列中的下一个元素。
- 使用hasNext()判断序列中是否还有元素。
- 使用remove()将迭代器新近返回的元素删除。
举例1:
Iterator中方法的使用
package www.fanfan.com;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
class Fruit1{
private String type;
public Fruit1(String type){
this.type = type;
}
public String toString(){
return this.type;
}
}
public class SimpleIterator {
public static void main(String[] args) {
List<Fruit1> fruit1 = new ArrayList<Fruit1>();
// 使用add()方法顺序添加元素并打印
fruit1.add(new Fruit1("Apple"));
fruit1.add(new Fruit1("Orange"));
fruit1.add(new Fruit1("Fuji"));
fruit1.add(new Fruit1("Pitch"));
fruit1.add(new Fruit1("Gala"));
System.out.