![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
小虾米在coding
这个作者很懒,什么都没留下…
展开
-
ArrayList源码--序列化反序列化
先看声明transient Object[] elementData; elementData被声明为transient ,也就是说如果采用默认的序列化方式,elementData不会被序列化。这样设计的原因是,对于初始化为空ArrayList,在添加第一个元素时其长度会被设置成10,对于ArrayList中添加元素小于10个的场景,默认的序列化方式会序列化10个对象(包括null),通过writ...原创 2020-01-30 16:09:30 · 213 阅读 · 0 评论 -
HashMap源码笔记
https://segmentfault.com/a/1190000012926722 HashMap的结构:数组+(链表/红黑树) 数组特点:查询效率高,插入、删除效率低 链表特点:查询效率低,插入、删除效率高 这种结构解决了数组链表的问题,使得查询,插入,删除效率都很高 1.初始化 public HashMap(int initialCapacity, float loadFactor)...原创 2020-01-30 16:08:35 · 142 阅读 · 0 评论 -
树
https://blog.csdn.net/qq_35008624/article/details/81947773 仅仅从查找效率来考虑,下面的结论是明显的: 树越矮,查找次数越少,但在每一层所做的工作越多; 树越高,查找次数越多,但在每一层所做的工作越少。 二叉查找树 每个结点的值不重复,且左子树<根<右子树 遍历:中序遍历能保证按序输出。 查找:类似二分查找 插入:O(lo...原创 2020-01-30 16:07:16 · 442 阅读 · 0 评论 -
HashMap--comparableClassFor方法及Type体系
https://www.jianshu.com/p/7649f86614d3 https://www.jianshu.com/p/e8eeff12c306 HashMap在存储树化过程中,通过比较key的hash值来决定作为左子树还是右子树。hash值大于当前节点的hash值时作为当前节点的右节点;小于时作为左节点;相等时看key是否实现了Comparable接口,决定能够基于compareTo...原创 2020-01-30 16:05:02 · 418 阅读 · 0 评论 -
ConcurrentHashMap源码
构造方法: 提供了五种构造方法 // 创建一个带有默认初始容量 (16)、加载因子 (0.75) 和 concurrencyLevel (16) 的新的空映射。 public ConcurrentHashMap() // 创建一个带有指定初始容量、默认加载因子 (0.75) 和 concurrencyLevel (16) 的新的空映射。 public ConcurrentHashMap(in...原创 2020-01-30 16:04:25 · 118 阅读 · 0 评论