本文主要是介绍Iterator和Iterable的区别和作用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Iterable是一个接口,约束某类是否可迭代。Iterator iterator()
Iterator:单向迭代器,正在实现迭代类。迭代器可以用作遍历。iterator里面于三个方法
hasNext:查看是否有下一个元素,有放回true没有为false
Next:此方法把光标(或者说是指针,但是不准确)移向下一个元素。
remove:移除光标指向的元素。
除了单向迭代还有双向迭代器,都是继承了Iterable
获取迭代器:只要实现了Iterable就可以获得迭代器。对象名.Iterator()就可以获得一个迭代器
一:什么是Iterable
JDK描述:实现此接口允许对象成为“ for-each循环”语句的目标。是一个接口,约束某类是否可迭代。
那么什么是“ for-each循环”:“ for-each循环”是Java提供的语法糖,实际上还是通过迭代器Iterator迭代遍历,如下例子:
Iterable中定义了三个函数,其中后面两个是1.8新加的,具体分析一下这三个函数:
1.iterator()返回迭代器实例,通过这个实例来实现对元素的遍历,比如ArrayList中Itr内部类实现了iterator接口,关于iterator接口我们后面会详细分析。
2.forEach 对 Iterable 的每个元素执行给定的操作,具体指定的操作需要自己写Consumer接口通过accept方法回调出来。很简单,我们看一下例子就明白了
3.spliterator() 通过一个顺序遍历的Iterator对象获取一个并行遍历的Spliterator对象;
二:什
这篇关于Iterator和Iterable的区别和作用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!