forEach與jdk8中的lambda, Stream


 

 

增強for循環 :forEach

反編譯后可以看到實際使用的仍然是Iterator+while遍歷的

forEach的優點是寫法簡單,缺點是不能使用xxx.remove(e)或者iter.remove(), 如果有刪除的需要,還是老老實實用Iterator

 

  對於數組的遍歷,使用的是length遍歷

參考:

https://stackoverflow.com/questions/85190/how-does-the-java-for-each-loop-work

https://docs.oracle.com/javase/specs/jls/se8/html/jls-14.html#jls-14.14.2

 

 

 

 

lambda的forEach,注意不能使用break, continue,  而reture相當於普通遍歷中的continue。也就是沒有普通遍歷中的break和return的功能。 

jdk8中Map也有forEach 了, 它是遍歷keyEntry

Stream中的forEach ...

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM