
Source Analysis
P-A
这个作者很懒,什么都没留下…
展开
-
jdk1.6之HashMap
Java最基本的数据结构有数组和链表。数组的特点是空间连续(大小固定)、寻址迅速,但是插入和删除时需要移动元素,所以查询快,增加删除慢。链表恰好相反,可动态增加或减少空间以适应新增和删除元素,但查找时只能顺着一个个节点查找,所以增加删除快,查找慢。有没有一种结构综合了数组和链表的优点呢?当然有,那就是哈希表(虽说是综合优点,但实际上查找肯定没有数组快,插入删除没有链表快,一种折中的方式吧)。一般采转载 2013-06-09 17:04:43 · 859 阅读 · 0 评论 -
jdk1.6之ArrayList
ArrayList就是传说中的动态数组,就是Array的复杂版本,它提供了如下一些好处:动态的增加和减少元素、灵活的设置数组的大小...... 认真阅读本文,我相信一定会对你有帮助。比如为什么ArrayList里面提供了一个受保护的removeRange方法?提供了其他没有被调用过的私有方法? 首先看到对ArrayList的定义:1 public class A转载 2013-06-09 21:10:15 · 917 阅读 · 0 评论 -
jdk1.6之LinkedList
LinkedList也和ArrayList一样实现了List接口,但是它执行插入和删除操作时比ArrayList更加高效,因为它是基于链表的。基于链表也决定了它在随机访问方面要比ArrayList逊色一点。 除此之外,LinkedList还提供了一些可以使其作为栈、队列、双端队列的方法。这些方法中有些彼此之间只是名称的区别,以使得这些名字在特定的上下文中显得更加的合适。转载 2013-06-09 21:11:39 · 429 阅读 · 0 评论 -
jdk1.6之LinkedHashMap
LinkedHashMap类似于HashMap,但是迭代遍历它时,取得“键值对”的顺序是插入次序,或者是最近最少使用(LRU)的次序。只比HashMap慢一点;而在迭代访问时反而更快,因为它使用链表维护内部次序(HashMap是基于散列表实现的,相关HashMap的内容可以看《Java集合类》和《HashMap源码分析》)。1 public class LinkedHashMap exte转载 2013-06-09 21:14:21 · 487 阅读 · 0 评论 -
Java集合类源码分析汇总
Java集合类基础:http://www.cnblogs.com/hzmark/archive/2012/12/17/CollectionBase.htmlArrayList源码分析:http://www.cnblogs.com/hzmark/archive/2012/12/20/ArrayList.htmlArrayList的removeRange方法分析:http://www.cnbl转载 2013-06-09 21:15:56 · 406 阅读 · 0 评论