背景
众所周知,HashMap可谓是用途广泛。那么我们在用的同时,有没有思考HashMap的底层是怎样的一种数据结构呢,是如何存取呢。
HashMap的数据结构
HashMap的数据结构是一个数组和链表的结合,一个HashMap是一个数组,当HashMap里面出现相同的的key,便会使用链表进行储存。
HashMap在jdk1.8中的优化
在1.8中,对HashMap进行了优化,其中最主要的优化便是对链表存储的优化,即当链表长达大于8时,会将链表转化为红黑树进行存储。具体可以下图,1.8中HashMap的put操作