迭代器:Iterator接口
Iterator是对拥有Collection子类的进行遍历
引用API:
public interface Iterator<E>
对 collection 进行迭代的迭代器。迭代器取代了 Java Collections Framework 中的 Enumeration。迭代器与枚举有两点不同:
迭代器允许调用者利用定义良好的语义在迭代期间从迭代器所指向的 collection 移除元素。
方法名称得到了改进。
由于collection中的数据保存方式的不同,List是像数组一样连续的保存的 有的又是以链表来保存的,为了能够统一的遍历,面向对象使用了Iterator接口,只要是使用了Collection接口的都可以使用Iterator来迭代
Iterator 有三个方法: boolean HashNext()如果仍有元素可以迭代,则返回 true。
E Next(),返回迭代的下一个元素。
void remove();从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。
使用迭代器的例子:
package Collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class collection1<E> {
public static void main(String[] args) {
Collection<String> coll = new ArrayList<String>();
for(int i = 0;i<5;i++){
coll.add("佳"+i);
}
//得到迭代器的对象
Iterator<String> itr = coll.iterator();
//是否存在元素
while(itr.hasNext()){
//指向下一个,并返回给String str
String str=itr.next();
System.out.println(str);
}
}
}
运行结果:
佳0
佳1
佳2
佳3
佳4
使用Iterator来进行遍历不用去管数据是通过什么方式保存的,只需要系统知道;