集合框架
xiatianyu_11
这个作者很懒,什么都没留下…
展开
-
HashMap深度研究
HashMap从会写java代码的时候就开始在用,但一直不知其原理。今天闲来无事,特意拿了它的源代码看看,花了一两个小时,终于明白了些。 废话就不少说了,现在来慢慢解析下他的源码吧,HashMap实现了Map接口,并继承了AbstractMap抽象类。AbstractMap还有个Entry的内部类。首先我们来看看他的构造函数,他有一个构造函数有两个参数,分别传的是因子和容量,因子*容...原创 2011-10-17 13:30:43 · 68 阅读 · 0 评论 -
HashSet深度研究
在HashMap深度研究里面我已经把HashMap原理大致说了一遍,现在就来说说HashSet吧。 HashSet相对于HashMap来说简单多了,他里面维持了一个HashMap对象,元素的值被存在HashMap的key里面,每个key对应的值都一样。...原创 2011-10-17 13:34:03 · 66 阅读 · 0 评论 -
LinkedHashMap
LinkedHashMap继承了HashMap,他里面维护的是Entry的双向链表,重新了Entry内部类,使他能指向上一个节点和下一个节点。原创 2011-10-17 13:36:59 · 72 阅读 · 0 评论 -
TreeMap
很少有人会直接使用TreeMap,为什么,当你在TreeMap结构中“put”或“remove”元素时,因为需要排序从而需要一些开销,这会影响到程序的性能,TreeMap是一个基本红黑树的实现,它会排序他的key. 红黑树的5个特点: 跟节点是黑节点叶子节点也是黑节点,即空节点是黑的每个节点要么是红的要么是黑的如果一个节点是红的,那么它的两个儿子都是黑的对每个节点,...原创 2013-04-15 13:48:45 · 72 阅读 · 0 评论