目录
- 介绍
- 构造器
- 增删改查方法
- 常见面试题
介绍
HashMap是最常用的一种容器,底层是通过数组+链表来实现的,数组又称之为哈希桶,默认初始化时桶的数量是16个,每次扩容时都是以两倍机制扩容。桶中以链表的形式存放entry。 在Java8中,当桶中元素个数大于8个时会转化成红黑树,当个数小于6个时又会重新退化为链表;
HashMap是线程不安全的,当在多线程环境中做增删改车操作时建议用 Map m = Collections.synchronizedMap(new HashMap(...));
这样来包装一下,或者用ConcurrentHashMap这样的并发容器。
整个HashMap的结构基本如下(图片来源于网络,侵删):