java 集合
文章平均质量分 96
揪克
公众号:mxszgg / Android dev-er / github:https://github.com/jokermonn
展开
-
从源码角度简析 LinkedList 和 ArrayList
联系与共同点不同点联系与共同点我们首先来看类的定义:ArrayList 继承自 AbstractList,而 LinkedList 是继承自 AbstractSequentialList,我们再打开 AbstractSequentialList,可以看到:可以看到,AbstractSequentialList 是继承自 AbstractList 的,那么这两个父类有什么区别呢?查看 api 文档原创 2017-03-04 10:01:52 · 565 阅读 · 0 评论 -
从源码角度简析 Hashtable、HashMap 和 LinkedHashMap
Hashtable 与 HashMap 不同点相同点LinkedHashMap注意:此文原文均摘自 Sun jdkHashtable 与 HashMap不同点先看类的定义——除了接口的实现是相同的,我们可以看到继承的类是不同的,我们不妨打开 Dictionary 抽象类看一下我们可以看到红色箭头指向的地方,大致翻译一下就是 —— 注意:这个类已经过时了,新的实现应该去实现 Map 接口,而不原创 2017-03-08 09:45:25 · 600 阅读 · 0 评论 -
结合 TreeMap 源码分析红黑树在 java 中的实现
注:本文的源码摘自 jdk1.8 中 TreeMap红黑树的意义红黑树的性质左旋、右旋增删总结红黑树的意义红黑树本质上是一种特殊的二叉查找树,红黑树保证了一种平衡,插入、删除、查找的最坏时间复杂度都为 O(logn)。那么红黑树是如何实现这个特性的呢?红黑树区别于其他二叉查找树的规则在于它的每个结点拥有红色或黑色中的一种颜色,然后按照一定的规则组成红黑树,而这个规则就是我们这篇文章所想原创 2017-11-07 00:10:15 · 1217 阅读 · 0 评论