黑马程序员技术交流社区
标题:
遍历方法比较
[打印本页]
作者:
王运科
时间:
2012-4-24 11:03
标题:
遍历方法比较
有以下两种方法遍历:
public void list1(List<String> list)
{
long l1 = System.currentTimeMillis();
for (String string : list)
{
System.out.println(string);
}
System.out.println(System.currentTimeMillis() - l1);
}
public void list2(List<String> list)
{
long l1 = System.currentTimeMillis();
Iterator<String> it = list.iterator();
while (it.hasNext())
{
String str = it.next();
System.out.println(str);
}
System.out.println(System.currentTimeMillis() - l1);
}
推荐使用第二种方式,性能比第一种快。
奥秘在于应用程序自身不维护遍历集合的"指针",所有的内部状态(如当前元素位置,是否有下一个元素)都由Iterator来维护,而这个Iterator由集合类通过工厂方法生成,因此,它知道如何遍历整个集合。应用程序不直接和集合类打交道,它总是控制Iterator,向它发送"向前","向后","取当前元素"的命令,就可以间接遍历整个集合。
作者:
姚伟涛
时间:
2012-4-24 11:04
姿势贴,顶个
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2