黑马程序员技术交流社区
标题:
关于集合List迭代的问题
[打印本页]
作者:
shi980088
时间:
2014-5-28 20:09
标题:
关于集合List迭代的问题
前几天老师讲了三种迭代集合的方式,第一种是普通的for循环迭代集合,第二种是用Iterator这个迭代器迭代集合,第三种是foreach迭代集合,我想知道这三种有什么区别么?分别有什么好处,什么时候用?
作者:
谢振宣
时间:
2014-5-28 22:30
三种遍历方式:for语句,Iterator,高级for
for (初始化表达式;循环判断表达式;循环后要操作的表达式)
{
循环中要操作的语句;
}
while (iterator.hasNext)
{
操作iterator.next;
}
for(对象中所包含数据的类型 参数:被遍历的对象)
{
操作参数;
}
1.for语句只适合对有角标的对象进行遍历,并且可以通过对角标的判断,做一些其它的操作。
也可以自定义一些条件,操作某些需要被循环的语句,此时的操作就不再是遍历。
2.Iterator是专门对集合中的元素进行遍历的一个工具,不管集合中的元素是否是有序的,
并且可以对被遍历的元素进行其它操作,如删除,修改。
3.高级for是Iterator的一种简化形式,只有取出元素的功能,不能对元素进行其它操作,如删除,修改。
与for语句的区别是,高级for必须有被遍历的对象,for语句除了遍历,还有操作循环语句的功能。
复制代码
作者:
shi980088
时间:
2014-5-28 23:18
谢振宣 发表于 2014-5-28 22:30
说的很好,谢了,又涨姿势了
作者:
披头骑士
时间:
2014-5-28 23:37
实际运用的时候更多还是看习惯
作者:
苏周周
时间:
2014-5-29 00:14
我觉还是迭代器用起来方便,可以增,删,改,查;大力推荐
作者:
zhuyanmei
时间:
2014-5-29 09:12
1. for需要知道集合或数组的大小,而且需要是有序的,不然无法遍历;
foreach和iterator都不需要知道集合或数组的大小,他们都是得到集合内的每个元素然后进行处理;
2. for和foreach都需要先知道集合的类型,甚至是集合内元素的类型,即需要访问内部的成员,不能实现态;
iterator是一个接口类型,他不关心集合或者数组的类型,而且他还能随时修改和删除集合的元素;
作者:
Dark_Horse
时间:
2014-5-29 11:33
又涨知识了啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2