![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java源码学习
冰凉的火焰
这个作者很懒,什么都没留下…
展开
-
java源码解读之LinkedList------jdk 1.7
1.链表的概念 以下引用自http://www.cnblogs.com/tstd/p/5046819.html; 链表是由一系列非连续的节点组成的存储结构,简单分下类的话,链表又分为单向链表和双向链表,而单向/双向链表又可以分为循环链表和非循环链表,下面简单就这四种链表进行图解说明。1.1 单向链表 单向链表就是通过每个结点的指针指向下一个结点从而链接起来的结构,最后一个节原创 2017-04-06 15:47:46 · 360 阅读 · 0 评论 -
java源码解读之HashSet------jdk 1.7
今天来看下HashSet,跟LinkedHashMap一样跟HashMap关系很大,不同的是HashSet不是继承HashMap,而是把HashMap作为一个属性使用。相当于只是使用HashMap的key,所以方法都是围绕操作HashMap来进行。HashSet的内部结构很简单,下面就简单的说明一下。1. 定义首先来看看set的接口定义://跟list与map接口方法名字左右大抵一致,就不多做介原创 2017-04-13 09:41:59 · 399 阅读 · 0 评论 -
java源码解读之LinkedHashMap------jdk 1.7
前面分析了HashMap的实现,我们知道其底层数据存储是一个hash表(数组+单向链表)。接下来我们看一下另一个LinkedHashMap,它是HashMap的一个子类,他在HashMap的基础上维持了一个双向链表(hash表+双向链表),在遍历的时候可以使用插入顺序(先进先出,类似于FIFO),或者是最近最少使用(LRU)的顺序。 来具体看下LinkedHashMap的实现。1.定义 publ原创 2017-04-12 15:45:27 · 487 阅读 · 0 评论 -
java源码解读之TreeMap------jdk 1.7
引自网上:TreeMap是基于红黑树结构实现的一种Map,要分析TreeMap的实现首先就要对红黑树有所了解。红黑树简单说就是一个顶部节点,大于等于这个节点的放在右边,小于等于这个节点的放在左边。如下图: 1. 定义//其他就不说了,主要说说NavigableMappublic class TreeMap<K,V> extends AbstractMap<K,V> i原创 2017-04-17 17:21:24 · 448 阅读 · 0 评论 -
java源码解读之ArrayList------jdk 1.7
1.定义 首先看看顶级接口Collection的定义, public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable 继承于AbstractList(是个封装实现了对list操作的抽象类)并且实现了list接口,Rando原创 2017-04-05 16:34:51 · 394 阅读 · 0 评论 -
java源码解读之HashMap------jdk 1.7
1. 定义 Map与list不同是一种键值对的集合,包含了key和value.hashmap是用hash处理分配存储位置的对map接口的一种实现. hash就是通过散列算法,将一个任意长度关键字转换为一个固定长度的散列值,但是有一点要指出的是,不同的关键字可能会散列出相同的散列值。首先来看看map的接口定义:public interface Map<K,V> { //获得容器内有原创 2017-04-10 17:30:29 · 328 阅读 · 0 评论