
Java
Dream2World
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JDK源码学习之HashMap
HashMap源码学习HashMap类图HashMap概述HashMap实现 HashMap类图 HashMap概述 允许null key和null value HashMap与HashTable紧密相关,除了不是同步的,以及允许null值外。 HashMap对迭代元素的顺序不保证,特别是,不保证迭代的顺序一致不变。 假定Hash函数分散的元素比较合理,它会提供常数时间的get 、put操作 ...原创 2020-05-11 00:05:08 · 206 阅读 · 0 评论 -
Java源码学习之LinkedHashSet
LinkedHashSetLinkedHashSet类图LinkedHashSet概述LinkedHashSet的实现 LinkedHashSet类图 LinkedHashSet概述 与HashSet主要不同在于,LinkedHashSet维护了一个双链表,并且还定义了迭代顺序,迭代的顺序即为插入的顺序。 Note:在LinkedHashSet中,插入顺序不会受到重复插入的影响。(在插入之前,...原创 2020-05-06 18:15:31 · 185 阅读 · 0 评论 -
JDK集合框架之ArrayList源码解析
Java中为什么要有ArrayList这个集合类?ArrayList底层的数据结构是采用数组来实现的,我们都知道数组这种结构的优点:访问数组中的元素所耗费的时间都是常数时间。但是还有一个大的缺点就是数组是定长的,也就是我们一旦创建了数组,就必须指定它的存储空间大小,而它的存储空间大小一旦指定就不会再发生改变,显然,这个缺点制约了数组在很多场合下的应用,因此,在保证常数时间访问的同时,又要实现可变长...原创 2018-06-19 08:13:08 · 277 阅读 · 1 评论 -
Java集合框架之HashMap源码分析(一):从hash方法演进之路看代码优化
1.7.0.17环境中默认构造HashMap中的时候会创建底层的数据结构,容量为16,同时计算出扩容需要的阈值12;而80年7月1日环境默认构造HashMap中的时候不创建底层的数据结构。 从哈希方法看linux下说的:“有品质的代码,重写代码,完美覆盖特例”。 jdk1.7.0.17的哈希方法: /** * Retrieve object hash code and appli...原创 2018-06-26 18:17:04 · 172 阅读 · 0 评论