浏览 2042 次
锁定老帖子 主题:集合对象的迭代效率
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-01-09
最后修改:2009-01-09
public void iterList(List<Integer> list){ Iterator<Integer> iter = list.iterator(); int total = 0; while(iter.hasNext()) total+=iter.next(); } 而很少会这样做: public void getList(List<Integer> list){ int size = list.size(); int total = 0; for (int i = 0; i < size; i++) { total+=list.get(i); } } 但是经测试表明,后一种比前一种快一倍。 打印结果: 用迭代变量的时间78 用get的时间32 原因:就是因为第一种方法在每次循环的时候,多调用了一次iter.hasNext() 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-01-09
用iterater好处就是随时可以增删数据,有程序专门维护idex
|
|
返回顶楼 | |
发表时间:2009-01-09
唉,java项目谁的瓶颈在内存寻址上面啊。
|
|
返回顶楼 | |
发表时间:2009-01-14
public void iterList(List<Integer> list){
Iterator<Integer> iter = list.iterator(); for(Iterator<Integer> iter = list.iterator();iter.hasNext();) { ...... } 用这个呀?测过吗? |
|
返回顶楼 | |
发表时间:2009-01-14
wsbjwjt 写道 public void iterList(List<Integer> list){
Iterator<Integer> iter = list.iterator(); for(Iterator<Integer> iter = list.iterator();iter.hasNext();) { ...... } 用这个呀?测过吗? 有测试结果啊 |
|
返回顶楼 | |