集合是一个容器,迭代器用于取出集合中的元素,每个元素逐一被取出,那么迭代器就需要跟当前集合里面的内容有所
关联,所以迭代器应该是在集合内部,那么怎么实现呢?迭代器就通过内部类来完成(这点在Java源码上有所体现)。
由于每个集合里面存储的对象不同等因素,从而每个集合里面的信息就不同,那么迭代器所要关联的信息也会根据集合
的不同而不同,所以就需要建立一个共同的规则,那么这个规则就是让每个集合只做两件事情,第一个是判断里面是否还有
元素,第二个就是取出元素,怎么判断怎么取出是容器自己完成的。
所以将每个集合做的两件事情向上抽取出共性,就得到了迭代器,Iterator专门用于判断和取出集合中的元素,所以
只要是接口Iterator的子类,都可以用hasNext()和Next()方法
迭代器就是实现了Iterator接口的每一个容器的内部的一个内部对象
【总结】
该对象必须依赖于具体容器,因为每一个容器的数据结构不同。
所以该迭代器对象是在容器中进行内部实现的。
对于使用容器者而言,具体的实现不重要,只要通过容器获取到该实现的迭代器的对象即可,
也就是iterator方法。
Iterator接口就是对所有的Collection容器进行元素取出的公共接口。
关联,所以迭代器应该是在集合内部,那么怎么实现呢?迭代器就通过内部类来完成(这点在Java源码上有所体现)。
由于每个集合里面存储的对象不同等因素,从而每个集合里面的信息就不同,那么迭代器所要关联的信息也会根据集合
的不同而不同,所以就需要建立一个共同的规则,那么这个规则就是让每个集合只做两件事情,第一个是判断里面是否还有
元素,第二个就是取出元素,怎么判断怎么取出是容器自己完成的。
所以将每个集合做的两件事情向上抽取出共性,就得到了迭代器,Iterator专门用于判断和取出集合中的元素,所以
只要是接口Iterator的子类,都可以用hasNext()和Next()方法
迭代器就是实现了Iterator接口的每一个容器的内部的一个内部对象
【总结】
该对象必须依赖于具体容器,因为每一个容器的数据结构不同。
所以该迭代器对象是在容器中进行内部实现的。
对于使用容器者而言,具体的实现不重要,只要通过容器获取到该实现的迭代器的对象即可,
也就是iterator方法。
Iterator接口就是对所有的Collection容器进行元素取出的公共接口。