摘要: 队列结构,源码分析 java public ArrayQueue(int capacity) { //容量 this.capacity = capacity + 1; //队列 this.queue = newArray(capacity + 1); //头指针 this.head = 0; //尾 阅读全文
posted @ 2019-10-25 11:39 六月过半 阅读(271) 评论(0) 推荐(0) 编辑
摘要: Stack是基于Vector的一个FIFO的栈结构 阅读全文
posted @ 2019-10-25 10:20 六月过半 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 看了下Vector的数据结构,简要记录下。 成员变量 添加方法 阅读全文
posted @ 2019-10-25 09:21 六月过半 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 也是比较古老的类了,看了下源码,该类结构的简单记录。 IdentityHashMap是保存到一个Object[]数组里,不一样的是比如key的索引为0,那么value保留紧跟着的位置上,而且相同索引会顺序往下排,循环时索引的自增是+2。具体看源码 java public V put(K key, V 阅读全文
posted @ 2019-10-24 14:49 六月过半 阅读(214) 评论(0) 推荐(0) 编辑
摘要: TreeMap使用了红黑树的结构,看下源码,记录用。 阅读全文
posted @ 2019-10-24 10:27 六月过半 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 看了下HashTable的数据结构,继承了Dictionary一个比较过时的抽象类,简单记下原理。 先看下HashTable的成员变量 看下存数据的方法 阅读全文
posted @ 2019-10-22 16:13 六月过半 阅读(348) 评论(0) 推荐(0) 编辑
摘要: HashMap 大家知道,索引是(length 1) & hash 算出来的,是无序的,那么LinkedHashList是如何保证顺序的呢? 答案就是LInkedHashMap的一个内部类,可以看到这个是一个双向列表,那下个问题,是如何维护呢? 那想想之前的HashMap里有一些未实现的方法 看名称 阅读全文
posted @ 2019-10-22 14:46 六月过半 阅读(1496) 评论(0) 推荐(0) 编辑
摘要: 看了下HashMap的源码,做下记录,首先还是先从流程图开始 下面用代码分析下方法 阅读全文
posted @ 2019-10-22 11:25 六月过半 阅读(474) 评论(0) 推荐(0) 编辑
摘要: ConcurrentHashMap是1.5引入的用于高并发情况下的检索和更新。本文是基于jdk8的代码进行分析的,从put方法入手,来看下该结构是如何实现的。 1. put方法 1.1 流程 1.2 一些关键方法 阅读全文
posted @ 2019-10-18 15:21 六月过半 阅读(605) 评论(0) 推荐(0) 编辑