forEach()方法与forEachRemaining()方法的区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_37490221/article/details/82973531

forEachRemaining()是Iterator接口在1.8的时候引入的一个默认方法
在这里插入图片描述
forEach()方法是Iterable接口在1.8的时候引入的一个默认方法
在这里插入图片描述
两个方法有很多相似之处:

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

即使你在网络上去询问他俩的差别,也鲜有人会回答,因为实在是没有太多的使用场景需要区别他俩。其实,他俩还是有一定的差别的,对于大多数实现了Iterable接口的集合,您可以多次调用forEach(),并将通过元素进行多次传递。相反,forEachRemaining()使用迭代器Iterator的所有元素,并且第二次调用它将不会做任何事情,因为不再有下一个元素。一个使用场景:获得对应集合的迭代器Iterator,然后您可以开始迭代,next()直到达到某个条件,然后使用forEachRemaining()操作该Iterator上的其余部分。在日常开发中,两者皆可使用。

猜你喜欢

转载自blog.csdn.net/weixin_37490221/article/details/82973531