![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
集合
文章平均质量分 85
map list
爱喝冰阔乐
这个作者很懒,什么都没留下…
展开
-
LinkedList(JDK1.8)源码解析
文章目录 概述 继承体系 源码分析 查找 遍历 插入 删除 总结 概述 LinkedList 是 Java 集合框架中一个重要的实现,其底层采用的双向链表结构。和 ArrayList 一样,LinkedList 也支持空值和重复值。由于 LinkedList 基于链表实现,存储元素过程中,无需像 ArrayList 那样进行扩容。但有得必有...转载 2020-04-24 14:46:23 · 107 阅读 · 0 评论 -
LinkedHashMap(JDK1.8)源码解析
文章目录 概述 原理 源码分析 Entry 的继承体系 链表的建立过程 链表节点的删除过程 访问顺序的维护过程 基于 LinkedHashMap 实现缓存 总结 概述 LinkedHashMap 继承自 HashMap,在 HashMap 基础上,通过维护一条双向链表,解决了 HashMap 不能随时保持遍历顺序和插入顺序一致的问题。...转载 2020-04-24 14:43:44 · 85 阅读 · 0 评论 -
ConcurrentHashMap1.8
ConcurrentHashMap数据结构 ConcurrentHashMap相比HashMap而言,是多线程安全的,其底层数据与HashMap的数据结构相同,数据结构如下: 说明:ConcurrentHashMap的数据结构(数组+链表+红黑树),桶中的结构可能是链表,也可能是红黑树,红黑树是为了提高查找效率。 ConcurrentHashMap源码分析 1、类的继承...原创 2020-02-25 18:44:11 · 862 阅读 · 0 评论 -
concurrentHashMap1.7
put方法 public V put(K key, V value) { Segment<K,V> s; if (value == null) throw new NullPointerException(); //计算hsah int hash = hash(key); //通过hash值运算把键...原创 2020-02-25 16:23:28 · 109 阅读 · 0 评论 -
HashMap1.8
equals、hashcode和==的区别 在介绍HashMap之前,我想先阐述一下我对这三者的理解,equals这个方法呢,就是在判断是否为同一对象(注意,这里的同一对象和相同的内存地址是不同的),是否为同一对象其实看一看做一种我们对事物的主观定义,如果我是个佛系青年,认为世间万物都是相同的,那么我只需要在equals里只return一个true。hashcode我们可以看做是一个对象的表示符...原创 2020-02-25 15:43:07 · 195 阅读 · 1 评论 -
HashTable
public synchronized V remove(Object key) { //确定当前key所在数据下标 Entry<?,?> tab[] = table; int hash = key.hashCode(); int index = (hash & 0x7FFFFFFF) % tab.length; //确定为某...原创 2020-02-25 15:42:48 · 115 阅读 · 0 评论