HashMap的数据结构?HashMap怎样解决KEY中hash值冲突问题?HashMap是否是线程安全?HashMap为什么属于线程非安全?

Java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。

在这里插入图片描述

HashMap利用“单向链表”解决key的hash值相等的问题。HashMap这个集合类属于非线程安全,HashMap初始容量大小16,有数据要插入的时候,会检查容量有没有超过设定的thredhold,假设超过需要增大Node[]的尺寸,也就是resize()方法。操作过程中就会出现线程非安全的情况。

发布了128 篇原创文章 · 获赞 17 · 访问量 7186

猜你喜欢

转载自blog.csdn.net/weixin_42554191/article/details/103890713