黑马程序员技术交流社区

标题: 迭代器的问题 [打印本页]

作者: 赵利斌    时间: 2013-5-27 22:22
标题: 迭代器的问题
本帖最后由 赵利斌 于 2013-5-28 17:18 编辑
  1. Iterator it = al.iterator();

  2.                 while(it.hasNext())
  3.                 {
  4.                         sop("next:"+it.next());
  5.                 }

复制代码
本来迭代器是这么写的后来不是又用一种for循环写成这样了嘛
for(Iterator it = al.iterator();it.hasNext();)
{
sop(it.next());
}
虽然可以理解这种写法但是用语言好像表达不出来啊?谁能用语言描述一下for循环的初始条件这么是》》》》Iterator it = al.iterator();????谢谢了!!!等大侠
作者: tshch1989    时间: 2013-5-27 22:38
for循环的表达式:for(初始表达式;条件表达式;执行后的语句){执行语句},Iterator it = al.iterator();it初始的值指向了一个迭代器;
作者: lpflpy    时间: 2013-5-27 22:53
先执行Iterator it = al.iterator()---->判断it.hasNext()为true----->执行sop语句==第二次循环=>执行空语句---->判断it.hasNext()为true--->执行sop语句。。。
直到it.hasNext()为false跳出循环。
第一句话是返回迭代器,有了迭代器才能遍历啊。另外在集合遍历时,除了使用迭代器,还可以使用高级for循环,更简单些
  1.                 for(Object  o :a1){
  2.                         Person p = (Person)o;
  3.                     sop(p.getName()+"::"+p.getAge());
  4.                 }
复制代码

作者: 赵利斌    时间: 2013-5-28 17:15
lpflpy 发表于 2013-5-27 22:53
先执行Iterator it = al.iterator()---->判断it.hasNext()为true----->执行sop语句==第二次循环=>执行空语 ...

恩,说的有理,我可以自己总结一下了。谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2