- 浏览: 55266 次
- 性别:
- 来自: 广州
文章分类
LinkedList的Iterator 的性能颈瓶:
对于Iterator 的next每次都会返回一个LinkedList的内部类return new ListItr(index),然后调用这个内部类的next方法。
而ListItr(index)每次初始化时都时从头指针开始从新定位的,所以对于海量数据的遍历时,性能是非常糟糕的,尽管其做了折半的查找优化。
ListItr的初始化代码如下:
这个LinkedList作者是Josh Bloch,版本是version 1.61, 02/19/04,不知道之后的版本是否做了改进。
对于Iterator 的next每次都会返回一个LinkedList的内部类return new ListItr(index),然后调用这个内部类的next方法。
而ListItr(index)每次初始化时都时从头指针开始从新定位的,所以对于海量数据的遍历时,性能是非常糟糕的,尽管其做了折半的查找优化。
ListItr的初始化代码如下:
ListItr(int index) { if (index < 0 || index > size) throw new IndexOutOfBoundsException("Index: "+index+ ", Size: "+size); if (index < (size >> 1)) { next = header.next; for (nextIndex=0; nextIndex<index; nextIndex++) next = next.next; } else { next = header; for (nextIndex=size; nextIndex>index; nextIndex--) next = next.previous; } }
这个LinkedList作者是Josh Bloch,版本是version 1.61, 02/19/04,不知道之后的版本是否做了改进。
发表评论
-
跨域iframe高度自适应 兼容IE/FF/OP/Chrome浏览器
2012-03-26 12:39 1100转自:http://www.5icool.org/ ... -
程序中调用jdbc访问oracle不可以有英文分号
2011-08-09 17:16 1932今天也遇到下文的问题,主要是多了个";"的 ... -
mvnform权限系统
2011-07-21 16:26 898mvnforum权限系统分析 mvnforum ... -
iphone safari 样式
2011-02-22 22:07 0转自:http://kinvix.kdv.cn/blog/?p ... -
文件格式及相关的response.contentType
2011-02-17 16:17 1134转自:http://blog.sina.com.cn/s/bl ... -
url最大长度问题
2011-01-27 10:15 1400转自:http://j2ees.iteye.com/blog/ ... -
JAVA 中URL链接中文参数乱码的若干处理方法
2011-01-25 18:43 1152转自:http://www.sudu.cn/info/html ... -
js中刷新页面总结
2010-09-16 13:31 1508转自:http://hi.baidu.com/kbsy/blo ... -
图片自动缩放 js图片缩放
2010-09-10 19:03 1736文章转自:http://hi.baidu.com/crysta ... -
HTML 标签属性列表
2010-07-02 10:43 623标签属性 属性 描述 ALIGN alig ... -
Java核心API需要掌握的程度(转)
2010-04-17 17:15 599Java的核心API是非常庞的,这给开发者来说带来了很的方便, ... -
非阻塞I/0(转)
2010-04-17 17:10 996文章转自:http://www.100ks ... -
GWT小结
2010-04-01 14:35 0GWT支持java.lang和java.util包的子集,还支 ... -
JDom小结
2010-04-01 14:23 0JDom包的结构: org.JDom ... -
java集合类的研究
2010-03-16 16:36 586HashSet的初始容量时16,其增长的基数时2,也就是说,当 ... -
Java:集合类性能分析【转】
2010-03-16 15:26 854这篇文章是转的,暂时没有验证文章中的正确性,我有时间会一一验证 ... -
HTTP错误请求代码一览[http,response,error code]
2010-03-10 11:40 3055static int SC_ACCEPTED ... -
ejb的entitybean中使用动态的sql
2010-03-05 15:06 707由于接触EJB的时间比较短,一直都十分好奇,如何使用容器来执行 ... -
RMI原理概要
2010-02-24 13:30 613其中远程对象要实现remote接口以及序列化接口。客户端值 ... -
java获取系统属性
2010-02-24 09:13 596java.version Java 运行时环境版本 jav ...
相关推荐
├─day01-基础篇 │ 02-二分查找_演示.mp4 ...│ 35-Iterator_FailSafe_源码分析.mp4 │ 36-LinkedList_vs_ArrayList_随机访问性能比较.mp4 │ 37-LinkedList_vs_ArrayList_增删性能比较.mp4 │ 38-LinkedLis
3.3.3 ArrayList和LinkedList的性能分析和适用场景 3.4 Iterator迭代器 迭代时删除指定元素 3.5 小结 第4课 Java的内存回收 4.1 Java引用的种类 4.1.1 对象在内存中状态 4.1.2 强引用 4.1.3 软引用 4.1.4 ...
Java语言中,提供了一套数据集合框架,其中定义了一些诸如List、Set等抽象数据类型,每个抽象数据类型的各个具体实现,底层又采用了不同的实现方式,比如ArrayList和LinkedList。 除此之外,Java对于数据集合的遍历...
-、Iterator Iterable ListIterator 二、Map 和 Collection 接口Map 集合体系详解 HashMap LinkedHashMap TreeMap WeakHashMap Hashtable Collection 集合体系详解 Set 接口 AbstractSet 抽象类SortedSet 接口...
多重 全面的数据结构和LINQ JavaScript库。 什么是多重 Multiplex是JavaScript中... HashSet不含重复元素的高性能值集。 SortedList按键排序的键/值对的集合。 LinkedList双链表。 Queue -对象的先进先出(FIFO)
25.ArrayList 和 LinkedList 的区别是什么? 26.如何实现数组和 List 之间的转换? 27.ArrayList 和 Vector 的区别是什么? 28.Array 和 ArrayList 有何区别? 29.在 Queue 中 poll()和 remove()有什么区别? 30....
7.7 HashSet和HashMap的性能选项 282 7.8 操作集合的工具类:Collections 283 7.8.1 排序操作 283 7.8.2 查找,替换操作 287 7.8.3 同步控制 288 7.8.4 设置不可变集合 288 7.9 烦琐的接口:Enumeration 289 ...
10、说出ArrayList,Vector, LinkedList的存储性能和特性 ArrayList 和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及...
7、说出ArrayList,Vector, LinkedList的存储性能和特性 ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组...
一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入...