![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
HashMap
归海一刀之渔舟唱晚
这个作者很懒,什么都没留下…
展开
-
详细解析jdk7HashMap源码
序: 在java语言中,业务开发人员经常会使用map来做内存缓存,但是hashmap里面的坑是有很多的,比如内存溢出啦,死循环啦,丢数据啦……,是不是说的HashMap一无是处呢!也不是这样,它使用起来是很方便的。java源码系列Map<Integer, Integer> map = new HashMap<Integer, Integer>();1.实现了Ma...原创 2018-03-17 23:04:28 · 585 阅读 · 0 评论 -
HashMap中indexFor方法深入探讨
HashMap中indexFor方法是用来查找数组下标的。在取数组下标的时候m&(lenth-1) 和m&length的值是一样的。比如 m = 7 ,lenth=8那么7&8 =77的二进制表示为111,111 & 111 = 111 =7下面我们来看看在java代码中看看他们的执行时间如何@Testpublic void test2() { int c...原创 2018-03-17 23:43:38 · 849 阅读 · 0 评论 -
源码解读--HashMap(jdk8)
一.基础知识之前写过一篇jdk7版的HashMap,今天在此基础上面讲讲jdk8中的HashMap。先来看看他们的不同。java源码系列。1.jdk7中,扩容插入使用的是前插法,jdk8中使用的是尾插法。2.jdk7中使用的是数组+链表的数据结构,查找时间复杂度取决于链表的长度为 O(n)。jdk8中使用的是数组+链表+红黑树(链表的个数大于8的时候,扩展为红黑树)的数据结构,将查找的...原创 2018-04-10 20:19:27 · 437 阅读 · 0 评论