1. 程式人生 > >forEach()方法與forEachRemaining()方法的區別

forEach()方法與forEachRemaining()方法的區別

forEachRemaining()是Iterator介面在1.8的時候引入的一個預設方法 在這裡插入圖片描述 forEach()方法是Iterable介面在1.8的時候引入的一個預設方法 在這裡插入圖片描述 兩個方法有很多相似之處:

  • 都可以遍歷集合
  • 都是介面的預設方法
  • 都是1.8版本引入的

即使你在網路上去詢問他倆的差別,也鮮有人會回答,因為實在是沒有太多的使用場景需要區別他倆。其實,他倆還是有一定的差別的,對於大多數實現了Iterable介面的集合,您可以多次呼叫forEach(),並將通過元素進行多次傳遞。相反,forEachRemaining()使用迭代器Iterator的所有元素,並且第二次呼叫它將不會做任何事情,因為不再有下一個元素。一個使用場景:獲得對應集合的迭代器Iterator,然後您可以開始迭代,next()直到達到某個條件,然後使用forEachRemaining()操作該Iterator上的其餘部分。在日常開發中,兩者皆可使用。