A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙天 黑马帝   /  2012-3-25 22:47  /  2293 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

增强for循环和传统for循环的区别?foreach可以遍历map吗?

6 个回复

倒序浏览
高级for循环的必须有被遍历的目标。也就是格式的区别。
建议:在遍历数组的时候,还是用传统的。因为传统的可以定义下标。
回复 使用道具 举报
格式:
for(数据类型 变量名 :被遍历的集合(collection)或者数组)
{
}
格式的不同就反映了功能的差别。
回复 使用道具 举报
        1.增强for循环和iterator遍历的效果是一样的,也就说增强for循环的内部也就是调用iteratoer实现的(可以查看编译后的文件),但是增强for循环有些缺点,例如不能在增强循环里动态的删除集合内容。不能获取下标等。
        2.ArrayList由于使用数组实现,因此下标明确,最好使用普通循环。
        3.而对于 LinkedList 由于获取一个元素,要从头开始向后找,因此建议使用 增强for循环,也就是iterator。
回复 使用道具 举报
增强for循环在不知道集合或数组中有多少个元素时比较好用。
普通for循环在需要使用条件表达式的情况下用
回复 使用道具 举报
增强for不能够操作下标,而普通for可以,使用环境不同,各有各的好,楼上说的好,ArrayList用普通for(知道下标),LinkedList用增强for(从头找起)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马