- hashmap通过数组和链表来实现的,首先通过计算key的hash值找到数组对应元素,判断当前数组下标位置是否有元素,如果没有就直接插入
- 当前下标位置如果已经存在元素,就需要以链表的形式插入元素
- hashmap并不是线程安全的数据结构,多线程访问的时候会出现,value被覆盖的情况
- ConcurrentHashMap可以保证线程安全,hashmap通过synchronized关键字锁住当前数组元素,然后再进行链表的插入
- 为了避免链表过大造成查询变慢,当链表超过元素超过8的时候,链表会成长为红黑树
01-12
488
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
08-25