HashMap就是这么简单【源码剖析】
前言 声明,本文用得是jdk1.8 前面已经讲了Collection的总览和剖析List集合以及散列表、Map集合、红黑树的基础了: Collection总览 List集合就这么简单【源码剖析】 Map集合、散列表、红黑树介绍 本篇主要讲解HashMap,以及涉及到一些与hashtable的比较~ 看这篇文章之前最好是有点数据结构的基础: Java实现单向链表 栈和队列就是这么简单 二叉树就这么简单 当然了,如果讲得有错的地方还请大家多多包涵并不吝在评论去指正~ 一、HashMap剖析 首先看看HashMap的顶部注释说了些什么: 再来看看HashMap的类继承图: 下面我们来看一下HashMap的属性: 成员属性有这么几个: 再来看一下hashMap的一个内部类Node: 我们知道Hash的底层是散列表,而在Java中散列表的实现是通过数组+链表的~ 再来简单看看put方法就可以印证我们的说法了:数组+链表-->散列表 我们可以简单总结出HashMap: 无序,允许为null,非同步 底层由散列表(哈希表)实现 初始容量和装载因子对HashMap影响挺大的,设置小了不好,设置大...