Map 接口概述
Map 用于存储键值对(Key-Value),通过键获取值。Map 中的键不允许重复,但值可以重复。
HashMap
HashMap 是最常用的 Map 实现。它根据键的 hashCode 值存储数据,支持快速访问。
- 允许一条记录的键为 null,值也可以为 null。
- 不支持线程同步。多线程写入可能导致数据不一致。可使用
Collections.synchronizedMap()方法使 HashMap 具有同步能力。
Hashtable
- 与 HashMap 类似,但不允许键或值为 null。
- 支持线程同步(任一时刻只有一个线程能写),导致写入性能较慢。
LinkedHashMap
- 保存记录的插入顺序。遍历时先插入的记录先被获取。
- 遍历速度比 HashMap 稍慢。
- 具备 HashMap 的全部特性。
TreeMap
- 根据键排序(默认升序,可指定比较器)。
- 遍历时记录已排序。
- 键和值均不能为空。

