聊一聊Iterable与Iterator的那些事! (2)

default void forEach(Consumer<? super T> action) {
Objects.requireNonNull(action);
for (T t : this) {
action.accept(t);
}
}
通过源码,我们可以看出他们之间的区别与联系。 相同点:

都可以遍历集合
都是接口的默认方法
都是1.8版本引入的
区别:

forEachRemaining()方法内部是通过使用迭代器Iterator的所有元素,forEach()方法内部使用的是增强for循环。
forEach()方法可以多次调用,forEachRemaining()方法第二次调用不会做任何操作,因为不会有下一个元素。
3.Iterator如何使用?

简单举个小栗子

List list = new ArrayList();
list.add("公众号");
list.add("Coder编程");
for (Iterator iter = list.iterator(); iter.hasNext();) {
String str = (String)iter.next();
System.out.println(str);
}
/迭代器用于while循环
Iterator iter = list.iterator();
while(iter.hasNext()){
String str = (String) iter.next();
System.out.println(str);
}
/
推荐阅读

带你了解Collection相关知识!

一篇让你理解进程与线程的区别与联系!

文末

本章节主要介绍了Iterable与Iterator之间的区别与联系,以及其他方面的小知识点,也是面试过程中会出现的内容点。 欢迎关注公众号:Coder编程 获取最新原创技术文章和相关免费学习资料,随时随地学习技术知识!
Github个人主页目录

Gitee个人主页目录

欢迎大家关注并Star~

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zysyxp.html