Java中HashMap和HashSet的知识点汇总

195 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。 @TOC

HashMap介绍

HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。

HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度。

HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口。

HashSet介绍

HashSet 基于 HashMap 来实现的。

HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必须在多线程访问时显式同步对 HashSet 的并发访问。

HashSet 实现了 Set 接口。

HashMap的一些特点

  1. HashMap 的 key 与 value 类型可以相同也可以不同
  2. HashMap 中的元素实际上是对象
  3. 最多允许一条记录的键为null,不支持线程同步。
  4. HashMap 是无序的,即不会记录插入的顺序。

HashMap的一些重要方法

方法作用
put(key,value)添加键值对(key-value)
get(key)获取 key 对应的 value
remove(key)删除 key 对应的键值对(key-value)
clear()删除所有键值对(key-value)
size()计算 HashMap 中的元素数量

HashSet的一些特点

  1. HashSet 是无序的,即不会记录插入的顺序。
  2. 不允许有重复元素
  3. HashSet 允许有 null 值。

HashSet的一些方法

方法作用
add(value)添加元素
contains(value)判断元素value是否存在于集合当中
remove()删除集合中的元素
clear()删除集合中所有元素
size()计算 HashSet 中的元素数量