HashMap:
- 底层是哈希表,所以查询速度很快
jdk1.8之前-数组+单链表 jdk1.8之后-数组+红黑树(链表长度超过8时),提高查询速度 - 无序
- 是异步的,所以是线程不安全的,速度快
- 键和值可以为null
HashMap存储自定义类型键值:
重写hashCode()
方法和equals()
方法,以保证key唯一
LinkedHashMap:
- 底层是哈希表+链表,所以有序
HashTable:
- 实现了Map接口,底层是哈希表
- 键和值不能为null
- 是同步的,所以是线程安全的,速度慢
HashTable的子类Properties集合是唯一一个和I/O流相结合的集合