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