java集合学习
我会努力变强的
这个作者很懒,什么都没留下…
展开
-
java集合源码分析之HashMap
UML类图: 基本简介: 底层的数据结构是数组,数组的元素类型是链表或者红黑树。 元素的添加可能会触发数组的扩容,会使元素重新哈希放入桶中,效率比较低。 元素在不扩容的情况下添加效率高,查找、删除、修改效果都较高。 jdk1.8之后当一个桶的元素个数达到阈值之后,会红黑树话,当降低到某个阈值之后又回链表话。 代码如下:介绍部分重要的: public class HashMap<K,V&...原创 2020-01-19 14:59:48 · 103 阅读 · 0 评论 -
Java集合源码解析之ArrayList
uml类图: 基本简介: ArrayList的底层数据结构是数组,所以内存需要为arrayList保证有足够的连续的内存空间。 添加操作会导致数组扩容,数组扩容比较消耗性能。 非尾部的添加和删除元素操作会涉及数组元素的移动,也比较消耗性能。 由于是数组结构,所以可以通过下标进行随机访问,时间复杂度为O(1),性能好。 这里只讲部分重要的方法: modCount成员在AbstractList中...原创 2020-01-15 18:08:21 · 168 阅读 · 0 评论 -
java集合之failfast机制
failfast机制:快速失败机制。 是java类在应对并发访问在对集合进行迭代过程中,内部对象结构发生变化的一种保护措施,这种错误检测机制为这种有可能发生错误,通过抛出ConcurrentModificationException,防止迭代过程中读到脏数据。 以ArrayList为例: public class Demo { public static void main(String[...原创 2020-01-15 18:05:39 · 217 阅读 · 0 评论