HashMap介绍
HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。
HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度。
HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口。
HashSet介绍
HashSet 基于 HashMap 来实现的。
HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必须在多线程访问时显式同步对 HashSet 的并发访问。
HashSet 实现了 Set 接口。
HashMap的一些特点
- HashMap 的 key 与 value 类型可以相同也可以不同
- HashMap 中的元素实际上是对象
- 最多允许一条记录的键为null,不支持线程同步。
- HashMap 是无序的,即不会记录插入的顺序。
HashMap的一些重要方法
方法 | 作用 |
---|---|
put(key,value) | 添加键值对(key-value) |
get(key) | 获取 key 对应的 value |
remove(key) | 删除 key 对应的键值对(key-value) |
clear() | 删除所有键值对(key-value) |
size() | 计算 HashMap 中的元素数量 |
HashSet的一些特点
- HashSet 是无序的,即不会记录插入的顺序。
- 不允许有重复元素
- HashSet 允许有 null 值。
HashSet的一些方法
方法 | 作用 |
---|---|
add(value) | 添加元素 |
contains(value) | 判断元素value是否存在于集合当中 |
remove() | 删除集合中的元素 |
clear() | 删除集合中所有元素 |
size() | 计算 HashSet 中的元素数量 |