JDK源码阅读
锋少的博客
一个茁壮成长的程序猿
展开
-
hashMap
原文:Java 8系列之重新认识HashMap,有删改。 JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理,文章末尾附有HashMap的p...转载 2019-05-28 17:34:47 · 141 阅读 · 0 评论 -
HahMap的灵魂拷问
带着问题读源码:1.HashMap是线程安全的吗?如果不是,怎么变成线程安全? 不是线程安全的, 可以使用concurrentHashmap 或者 使用Collections类的synchronizedMap方法包装一下2.怎么解决hash冲突的? 用链表3. jdk1.7 与1.8版本的实现有什么差异?做了哪些优化? jdk1.8版本引入了红...原创 2019-05-29 17:56:45 · 1401 阅读 · 0 评论 -
HashSet
1.HashSet的底层实现是什么?它是如何保证不重复的? 底层的实现是HahMap,阅读源码可以发现,构造方法中new了一个HashMap 那么如何保证不重复呢? 在HahMap中key是不可以重复的,value是可以重复的。所以在hashset中就利用了key的特性,将value的值作为一个固定值(毕竟没什么用,主要用key)。. 在hashmap中,如...原创 2019-06-04 09:10:59 · 1383 阅读 · 0 评论 -
TreeMap的理解
1.TreeMap实现方式 TreeMap实现了Map、SortedMap、NavigableMap、Cloneable、Serializable等接口。 SortedMap规定了元素可以按key的大小来遍历,它定义了一些返回部分map的方法.TreeMap只使用到了红黑树,所以它的时间复杂度为O(log n),我们再来回顾一下红黑树的特性2.TreeMap是有序的?...原创 2019-10-04 14:11:20 · 196 阅读 · 0 评论