HashMap底层原理实现

       HashMap是基于hash表的map接口实现,是以key-value存储形式存在。由于在扩容过程中容易造成死循环,以及数据覆盖,数据丢失问题,所以不是线程安全的。其键值都可以为null。结构上,hashmap属于一种链式数组,其中数组为主体,链接结构是为了解决hash冲突而存在。在JDK1.8以后,新增红黑树结构,当链表长度大于8时,将转为红黑树,提高查询效率。而在链表长度小于6时,将重新转回链式结构。

       hashmap中最常用的方法一般为get(),put().其中put方法执行过程为:

posted @ 2020-03-16 18:07  空城之泪  阅读(121)  评论(0)    收藏  举报