![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
集合框架
summerZBH123
这个作者很懒,什么都没留下…
展开
-
java当中集合框架整理
这篇博客主要是记录一下java当中常用的那些集合框架源码分析的整理一下源码分析都是基于JDK1.8 ArrayList LinkedList Vector 源码对比分析HashMap源码分析LinkedHashMap源码分析ConcurrentHashMap 1.8源码分析(1)ConcurrentHashMap1.8源码源码分析(2)TreeMap源码分析HashSet和LinkedHashSe...原创 2018-07-09 18:56:43 · 135 阅读 · 0 评论 -
LinkedHashMap源码分析
之前介绍过HashMap,HashMap的存储是无序的,LinkedHashMap在HashMap的基础上记录了每次添加的顺序,LinkedHashMap总体上实现方法大都是HashMap的方法。其实现方式,是数组+单向链表+双向链表+红黑树我们先来看下LinkedHashMap保存元素的结构static class Entry<K,V> extends HashMap.Node<...原创 2018-07-09 19:12:08 · 133 阅读 · 0 评论 -
TreeMap源码分析
TreeMap的内部维护了一个红黑树,从而来确保传入进去的元素都是按顺序保存的,我们查询出来的数据也是排序过得关于红黑树的基本操作可以参考我之前的一篇文章TreeMap红黑树基础相关内容介绍先来看添加元素操作public V put(K key, V value) { Entry<K,V> t = root; if (t == null) { //如果r...原创 2018-07-09 19:11:55 · 131 阅读 · 0 评论 -
HashSet与LinkedHashSet分析
在前面已经介绍过HashMap和LinkedHashMap,在此基础上再来看HashSet和LinkedHashSet的源码会非常简单HashSet,其内部维护了一个HashMap和一个Object类型的对象,来保存每个元素对应的value值,HashSet其实就是HashMap当中key的集合,value使用的都是同一个object对象。对应的add方法和remove方法,分别调用的都是Hash...原创 2018-07-09 18:56:28 · 364 阅读 · 0 评论