迭代器模式(Iterator):提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。


迭代器模式的作用就是将迭代元素的责任交给了迭代器,而不是聚合对象。我们甚至都不需要知道聚合对象内部结构就可以实现该聚合对象的迭代
他们提供了迭代器可以对外提供访问数据的接口,同时没有暴露内部的存储逻辑(根据上面的代码中,外部的端口是根据 while(i.hasNext) 来获取对象数据的,但是外部端口并不知道 获取到的每一个对象的结构类型是什么样的。所以就是说,没有暴露内部的逻辑储存)