Iterator和Iterable的区别以及使用
1、什么是迭代器
迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上像迭代器的东西都可以叫做迭代器。然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来
Iterable,该接口包含一个能够产生Iterator接口的iterator()方法,并且Iterable对象被foreach用来在序列中移动,因此创建的任何实现了Iterable接口的类都可以将它用于foreach。
1、 Iterable接口:从继承结构中可以看出,Iterable接口是Collection的顶层接口,所以Iterable是数据结构,用来存放数据的地方。
这个接口只是为了让对象实现for-each loop声明而存在的。
iterable接口最重要的方法是:Iterator iterator()//生成迭代器。否则无法实现for-each
default Spliterator spliterator()//在这 Iterable创建描述元素的 Spliterator//Interface Spliterator用于遍历和划分源的元素的对象。所涵盖的spliterator元素的来源可能是,例如,一个数组&#x