HashMap的存储结构以及jdk1.8中对HashMap的优化

背景

众所周知,HashMap可谓是用途普遍。那么咱们在用的同时,有没有思考HashMap的底层是怎样的一种数据结构呢,是如何存取呢。数组

HashMap的数据结构

HashMap的数据结构是一个数组和链表的结合,一个HashMap是一个数组,当HashMap里面出现相同的的key,便会使用链表进行储存。 HashMap的数据结构数据结构

HashMap在jdk1.8中的优化

在1.8中,对HashMap进行了优化,其中最主要的优化即是对链表存储的优化,即当链表长达大于8时,会将链表转化为红黑树进行存储。具体能够下图,1.8中HashMap的put操做 1.8的put操做优化

相关文章
相关标签/搜索