如果你看过HashSet源码的话就应该知道:HashSet底层就是基于HashMap实现的。HashSet的源码⾮常⾮常少,因为除了clone()writeObject()readObject()HashSet⾃⼰不得不实现之外,其他⽅法都是直接调⽤HashMap中的⽅法。

HashMap HashSet
实现了Map接⼝ 实现Set接⼝
存储键值对 仅存储对象
调⽤put()map中添加元素 调⽤add()⽅法向Set中添加元素
HashMap使⽤键(Key)计算hashcode HashSet使⽤成员对象来计算hashcode值,对于两个对象来说hashcode可能相同,所以equals()⽅法⽤来判断对象的相等性
最后修改日期: 2021年11月24日

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。