迭代器将遍历序列的操作和序列底层(存储结构)相分离。可以说:迭代器统一了对容器的访问方式,而不用在乎容器的结果
-
使用方法iterator()要求容器返回一个Iterator。Iterator将准备好返回序列的第一个元素;
-
使用next()获取序列中下一个元素;
-
使用hasNext()检查序列中是否有元素;
-
使用remove()将迭代器新返回的元素删除。
Iterator与Enumeration的区别
-
Enumeration的速度是Iterator的两倍,也使用更少的内存。Enumeration是非常基础的,也满足了基础的需要。
-
但是,与Enumeration相比,Iterator更加安全,因为当一个集合正在被遍历的时候,它会阻止其它线程去修改集合。
-
迭代器取代了Java集合框架中的Enumeration。迭代器允许调用者从集合中移除元素,而Enumeration不能做到。为了使它的功能更加清晰,迭代器方法名已经经过改善。