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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© shi980088 中级黑马   /  2014-5-28 20:09  /  1460 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

前几天老师讲了三种迭代集合的方式,第一种是普通的for循环迭代集合,第二种是用Iterator这个迭代器迭代集合,第三种是foreach迭代集合,我想知道这三种有什么区别么?分别有什么好处,什么时候用?

6 个回复

倒序浏览
  1. 三种遍历方式:for语句,Iterator,高级for
  2. for (初始化表达式;循环判断表达式;循环后要操作的表达式)
  3. {
  4.         循环中要操作的语句;
  5. }
  6. while (iterator.hasNext)
  7. {
  8.         操作iterator.next;
  9. }
  10. for(对象中所包含数据的类型 参数:被遍历的对象)
  11. {
  12.         操作参数;
  13. }
  14. 1.for语句只适合对有角标的对象进行遍历,并且可以通过对角标的判断,做一些其它的操作。
  15.   也可以自定义一些条件,操作某些需要被循环的语句,此时的操作就不再是遍历。
  16. 2.Iterator是专门对集合中的元素进行遍历的一个工具,不管集合中的元素是否是有序的,
  17.   并且可以对被遍历的元素进行其它操作,如删除,修改。
  18. 3.高级for是Iterator的一种简化形式,只有取出元素的功能,不能对元素进行其它操作,如删除,修改。
  19.   与for语句的区别是,高级for必须有被遍历的对象,for语句除了遍历,还有操作循环语句的功能。
复制代码

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1 赞一个!

查看全部评分

回复 使用道具 举报

说的很好,谢了,又涨姿势了
回复 使用道具 举报
实际运用的时候更多还是看习惯
回复 使用道具 举报
我觉还是迭代器用起来方便,可以增,删,改,查;大力推荐
回复 使用道具 举报
1. for需要知道集合或数组的大小,而且需要是有序的,不然无法遍历;
    foreach和iterator都不需要知道集合或数组的大小,他们都是得到集合内的每个元素然后进行处理;
2.  for和foreach都需要先知道集合的类型,甚至是集合内元素的类型,即需要访问内部的成员,不能实现态;
     iterator是一个接口类型,他不关心集合或者数组的类型,而且他还能随时修改和删除集合的元素;

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1 赞一个!

查看全部评分

回复 使用道具 举报
又涨知识了啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马