本教程操作环境:windows7系统、java10版,DELL G3电脑。
1.迭代器的好处
(1)迭代器可以提供统一的迭代方式。
(2)迭代器也可以在对客户端透明的情况下,提供各种不同的迭代方式。
(3)迭代器提供一种快速失败机制,防止多线程下迭代的不安全操作。
不过对于第三点尚需注意的是:我们不能保证迭代过程中出现“快速失败”的都是因为同步造成的,因此为了保证迭代操作的正确性而去依赖此类异常是错误的!
2.迭代器模式的原理
说明 :
(1)Iterator :迭代器接口,是系统提供,含义 hasNext、next、remove
(2)ConcreteIterator :具体的迭代器类,管理迭代。
(3)Aggregate :一个统一的聚合接口,将客户端和具体聚合解耦。
(4)ConcreteAggreage :具体的聚合持有对象集合,并提供一个方法,返回一个迭代器,该迭代器可以正确遍历集合
(5)Client :客户端,通过Iterator和Aggregate依赖子类。
3.源码分析
ArrayList中迭代器的具体实现如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
以上就是java迭代器的原理分析,相信大家经过本篇的学习,已经对迭代过程和接口的一些用法有所掌握。对于其基本组成部件还没有理解的,可以多看看上方的图解。