Java Map体系集合
一、Map接口核心内容
1. 核心特点
- 存储形式:以键值对(Key-Value)为基本单位存储数据。
- 键(Key)特性:无序、无下标,且不允许重复(保证唯一性)。
- 值(Value)特性:无序、无下标,允许存在重复值。
2. 常用方法
- V put(K key, V value):添加键值对;若key已存在,新值覆盖旧值,返回null;若key不存在,直接存储,返回null。
- V remove(K key):根据指定key删除对应键值对,返回被删除的value。
- V get(K key):通过key查询并返回对应的value。
- int size():获取集合中键值对的总数量。
- boolean containsKey(K key):判断集合中是否包含指定key,返回true或false。
- boolean containsValue(V value):判断集合中是否包含指定value,返回true或false。
二、Map主要实现类及特性
1. HashMap(重点)
- 适用版本:JDK1.2及以上。
- 线程安全性:线程不安全,运行效率较高。
- 特殊规则:允许使用`null`作为key或value。
2. LinkedHashMap
- 继承关系:HashMap的子类。
- 核心优势:保留元素的添加顺序,按添加顺序存储和访问数据。
3. Hashtable
- 适用版本:JDK1.0及以上。
- 线程安全性:线程安全,并发场景下效率较低。
- 特殊限制:不允许使用null作为key或value。
4. Properties
- 继承关系:Hashtable的子类。
- 类型约束:要求key和value必须都是String类型。
- 典型用途:常用于读取配置文件。
5. TreeMap
- 接口实现:实现SortedMap接口(Map的子接口)。
- 核心能力:可对存储的key进行自动排序,无需额外处理排序逻辑。
