java集合
天涯with0
这个作者很懒,什么都没留下…
展开
-
JDK容器学习之Map : HashMap,TreeMap,LinkedHashMap对比
https://www.jianshu.com/p/cd64d95380c1转载 2019-11-25 12:47:28 · 146 阅读 · 0 评论 -
Java集合总结
1)说说常见的集合有哪些吧?答:Map接口和Collection接口是所有集合框架的父接口:Collection接口的子接口包括:Set接口和List接口 Map接口的实现类主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap以及Properties等 Set接口的实现类主要有:HashSet、TreeSet、LinkedHashSet等 L...原创 2019-11-25 12:44:38 · 154 阅读 · 0 评论 -
LinkedList源码学习笔记
一.基本结构 LinkedList是一种可以在任意位置进行高效的插入和删除操作的有序序列,基于双向链表设计的 public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.S...原创 2019-11-24 15:12:59 · 95 阅读 · 0 评论 -
ConcurrentHashMap源码学习笔记jdk1.7&1.8
(一)基于JDK1.7的ConcurrentHashMap 1.基本实现: 由Segement数组和HashEntry组成,与HashMap相同都是数组+链表的结构,而每一个Segment元素存储的是HashEntry数组+链表,这个和HashMap的数据存储结构一样 Segement: ...原创 2019-11-19 15:16:21 · 177 阅读 · 0 评论 -
HashMap源码学习笔记
1.基本原理: 2.存储结构: jdk1.7:采用链地址法来存储数据,即数组和链表结合的方式。 数组中每个元素存储的都是一个链表,当不同的key经过hash运算如果得到相同的值,那么我们就把key放在数组的链表上 jdk1.8:当链表新增节点导致链表长度超过8的时候,就会将原有链表转化为红黑树来存储数据(红黑树查...原创 2019-11-14 17:12:48 · 383 阅读 · 1 评论 -
ArrayList源码学习笔记
1.简介:public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable继承了AbstractList,提供相关的修改、删除、遍历等功能 实现了RandomAcces...原创 2019-11-13 11:11:01 · 140 阅读 · 0 评论 -
ConcurrentHashmap源码解析
转自:https://juejin.im/post/5aeeaba8f265da0b9d781d161.ConcurrentHashmap简介在使用HashMap时在多线程情况下扩容会出现CPU接近100%的情况,因为hashmap并不是线程安全的,通常我们可以使用在java体系中古老的hashtable类,该类基本上所有的方法都采用synchronized进行线程安全的控制,可想而知,在...转载 2019-03-30 21:05:00 · 120 阅读 · 0 评论 -
HashMap面试题
Q:HashMap 的数据结构?A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过 8 时,链表转换为红黑树。transient Node<K,V>[] table;Q:HashMap 的工作原理?A:HashMap 底层是 hash 数组和单向链表实现,数组中的每个元素都是链表,由 Node 内部类(实现 Map.Entry...转载 2019-03-13 15:54:41 · 78 阅读 · 0 评论 -
搞懂 Java HashMap 源码
像一只狗2018年04月07日阅读 966转:https://juejin.im/post/5ac83fa35188255c5668afd0搞懂 Java HashMap 源码HashMap 源码分析前几篇分析了 ArrayList , LinkedList ,Vector ,Stack List 集合的源码,Java 容器除了包含 List 集合外还包含着 Set 和 Map...转载 2019-03-12 12:38:26 · 114 阅读 · 0 评论