今天看到这个java.util.RandomAccess接口,看到了这么一句话:
写道
this loop:
for (int i=0, n=list.size(); i < n; i++)
list.get(i);
runs faster than this loop:
for (Iterator i=list.iterator(); i.hasNext(); )
i.next();
写了一个小的实验:真是的,
public class Tst {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
for(int i=0; i<10000000; i++) {
list.add(100);
}
long startTime = System.currentTimeMillis();
for (int i=0, n=list.size(); i < n; i++)
list.get(i);
startTime = System.currentTimeMillis();
System.out.println("Runned time : " + (System.currentTimeMillis()-startTime));
for (Iterator<Integer> i=list.iterator(); i.hasNext(); )
i.next();
startTime = System.currentTimeMillis();
System.out.println("Runned time : " + (System.currentTimeMillis()-startTime));
}
}
结果:
写道
Runned time : 125
Runned time : 422
那就是迭代器要慢些,粗略看看了,不用迭代器是要简单一些,检测一些数组有没有越界,就从数组中取数了。用迭代器就麻烦了,先返回迭代器,在……,没有细看呢。
那为什么有迭代器呢,有什么好处呢?
代码比较的规则。
可以同时做删除操作,增加操作
分享到:
相关推荐
Collection、Map、List、Set、Iterator
该文档是演示迭代器Iterator的使用方法和源代码,其中包括了Iterator的继承类的讲解和再Iterator中的两种方法
该文档代码讲述了如何在jsp页面iterator遍历数组、Map、List集合
jsp自定义标签iterator遍历list[整理].pdf
Iterator to list的三种方法 简介 集合的变量少不了使用Iterator,从集合Iterator非常简单,直接调用Iterator方法就可以了。 那么如何从Iterator反过来生成List呢?今天教大家三个方法。 使用while 最简单最基本的...
http://blog.csdn.net/e421083458/article/details/8794127 该源码为Hibernate教程配套源码
相反,显示的数据表格行和列不确定,此时用实体类(UserEntity)迭代的方式很难实现,只能用List或List<List<String>>实现了。 运行效果及代码解释请参考我的博客园:...
仿std&&list;的iterator迭代器,有助于加深对stl中各种封装类的理解
<s:iterator value="list" id="book" status="u"> ...
for(Iterator<A> it = list.iterator(); it.hasNext(); ) { .... } 这种方式在循环执行过程中会进行数据锁定, 性能稍差, 同时,如果你想在寻欢过程中去掉某个元素,只能调用it.remove方法, 不能使用list.remove方法...
NULL 博文链接:https://takeme.iteye.com/blog/1663239
Hibernate 难点解析: hibernate中uuid和native的相关总结 ...hibernate二级缓存中list和iterator的用法 Hibernate中的对象有三种状态: lock和update区别 save 和update区别 update 和saveOrUpdate区别
Iterator遍历中 ConcurrentModificationException异常
_.each(list, iterator, [context]) Alias: forEach Iterates over a list of elements, yielding each in turn to an iterator function. The iterator is bound to the _.map(list, iterator, [context]) Alias: ...
// java中对象容器主要有Set,List和Map三个接口类。 // 迭代器(Iterator)模式,又叫做游标(Cursor)模式。 // GOF给出的定义为:提供一种方法访问一个容器(container)对象中的各个元素, // 而又不需暴露该...
Message_Linked_List_Iterator 该程序由Thomas Hart在2014年Spring针对CS 367(数据结构)编写。 主要类是DisplayEditor.java,它调用其他类。 读入文件和消息,并向用户提示他们下一步要执行的操作。 他们具有的...
主要介绍了java Iterator接口和LIstIterator接口分析的相关资料,需要的朋友可以参考下
Iterator Iter=list.iterator(); while(Iter.hasNext()){ System.out.println(Iter.next()); } } } 3.Map(映射<集合>)是无序的,是一种把键对象和值对象进行映射的集合,它每一个元素都包含一对键对象...
主要介绍了java中Iterator和ListIterator实例详解,具有一定借鉴价值,需要的朋友可以参考下。
在action里面写了方法获取一个list,再将这个list的值放到jsp页面中显示出来,用的是<s:iterator>标签。