本帖最后由 程潇 于 2012-7-16 22:23 编辑
for, foreach, 迭代器的区别和联系?
联系:三者都可以实现循环遍历。
区别:语法格式、循环条件、应用以及性能都有差异,分别介绍如下。
1.语法格式:
for:
for(initialization; Boolean-expression; step){ statement }
foreach:
for( type identifier : expression) { statement }
迭代器:
Iterator<T> it = XXX.iterator();
while(it.hasNext()){
T t = it.next();
//statement
}
2.条件
for通过Boolean-expression来确定循环体是否执行
foreach不用显式确定循环条件
迭代器使用hasNext()检查序列中是否还有元素
3.应用
for用于一般的循环,最常用
foreach用于数组和集合
迭代器用于集合,只能单向移动,使用next()获得序列中的下一个元素,使用remove()将迭代器新近返回的元素删除
4.性能
for性能最优,foreach和迭代器相当
参见:http://blog.csdn.net/java2000_net/article/details/3796064
如有问题或不足希望大家指正补充。
|