集合类
文章平均质量分 60
Daisytheboy
黛西男孩
展开
-
HashMap源码分析
参考链接:https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/collection/HashMap.mdhttps://thinkwon.blog.csdn.net/article/details/104588551数据结构实现:<=JDK1.7:数组+链表(链表散列)>=JDK1.8:数组+链表+红黑树哈希函数比较:JDK1.7:4次位运算,5次异或运算(9次扰动)static int原创 2020-10-14 20:23:19 · 133 阅读 · 0 评论 -
CopyOnWriteArrayList随意分析
参考链接https://blog.csdn.net/u010002184/article/details/90452918JDK文档中英对照英文:public class CopyOnWriteArrayListextends Objectimplements List, RandomAccess, Cloneable, Serializable.A thread-safe variant of ArrayList in which all mutative operations (add原创 2023-10-08 17:30:13 · 54 阅读 · 1 评论 -
TreeMap源码分析
参考链接:https://www.cnblogs.com/jing99/p/11736005.htmlpublic class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, java.io.Serializable继承的类和接口都是老熟人了,就是这个NavigableMap有点陌生,我们就来康康public interface Navi原创 2023-10-08 17:29:59 · 50 阅读 · 1 评论 -
ArrayList源码分析
容量默认容量:10扩容后的容量:旧容量的的1.5倍(也可能是1.5倍-1,因为新容量=旧容量+旧容量右移一位())底层数据结构Object类型数组复杂度分析get(int index):O(1)add(E e):O(1)add(int index, E element):O(n)remove(int index):O(n)扩容机制新容量为旧容量的1.5倍,或1.5倍-1。由于底层是使用了Object类型数组,所以扩容后这个数组的大小为原来的1.5倍,但是其size取决于你到底添加了多原创 2020-10-14 20:24:35 · 100 阅读 · 0 评论 -
LinkedList源码分析
底层数据结构Node节点连成的双向链表 private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next) { this.item = element; this.next原创 2020-10-14 20:25:10 · 97 阅读 · 0 评论 -
ConcurrentHashMap源码分析
继承关系继承了AbstractMap抽象类和ConcurrentMap接口线程安全性线程安全的JDK1.7里容器有多把锁,每一把锁锁一段数据(segement数组,加上HashEntry单向队列table)JDK1.8版本:①取消segments字段,直接采用transient volatile HashEntry<K,V>[] table保存数据,采用table数组元素作为锁,从而实现了对每一行数据进行加锁,并发控制使用Synchronized和CAS来操作将原先table数组+原创 2020-10-14 20:25:52 · 241 阅读 · 0 评论 -
Hashtable源码分析
参考博文:https://blog.csdn.net/dingjianmin/article/details/79774192继承关系继承了Dictionary抽象类参数:大小:count容量:默认11(>=1的任何整数)负载因子:0.75扩容阈值:容量*负载因子(或是两倍的同映射Map的size)数据结构实现:数组(一个Entry类型的Table)Entry<K,V> implements Map.Entry<K,V>线程安全性线程安全插入过程原创 2020-10-14 20:26:32 · 149 阅读 · 0 评论 -
HashSet源码分析
HashSet源码分析原创 2023-07-31 17:23:46 · 111 阅读 · 1 评论