1. 简介
- HashMap为键值对(key -> value)结构存储,其中key是唯一、不重复的、无序的,key和value都允许为null,只允许一条记录的key为null,允许多条记录的value为null。HashMap一般通过key来定位value,当put操作时,传入相同key会覆盖value。
- HashMap默认初始容量为16;默认负载因子为0.75;位桶数组table的大小总是为2的n次方。
- 当位桶上的结点数大于8时会转为红黑树,当位桶上的结点数小于6时红黑树转为链表。
- 当map中键值对数量超过临界阈值thread(容量 * 装载因子)时,将会进行扩容(位桶数组扩容)。
- 位桶数组扩容是一个比较耗性能的操作,故而在初始化HashMap的时候可以给一个大致的数值(估算map大小),避免频繁的扩容。
- HashMap是线程不安全的,只可在单线程环境下使用,若需在多线程环境使用,主要方法有: