`

java for each循环的原理

    博客分类:
  • java
 
阅读更多
这篇介绍java for each原理的文章写的很棒,转过来marke一下。
http://blog.csdn.net/zhangyuan19880606/article/details/51241079

在编译的时候编译器会自动将对for这个关键字的使用转化为对目标的迭代器的使用,这就是foreach循环的原理。进而,我们再得出两个结论:

1、ArrayList之所以能使用foreach循环遍历,是因为ArrayList所有的List都是Collection的子接口,而Collection是Iterable的子接口,ArrayList的父类AbstractList正确地实现了Iterable接口的iterator方法。

2、任何一个集合,无论是JDK提供的还是自己写的,只要想使用foreach循环遍历,就必须正确地实现Iterable接口

实际上,这种做法就是23中设计模式中的迭代器模式。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics