1.HashSet的实现原理

HashSet是基于HashMap实现的,HashSet的值存放在HashMap的Key上,HashMap的value同一为PRESENT(PRESENT是一个至始至终都相同的虚值),因此HashSet的实现比较简单,相关HashSet的操作,基本上都是直接调用底层HaspMap的相关方法来完成,HashSet不允许重复的值
Java面试题——Set接口

2.HashSet如何检查重复?

向HashSet中添加元素时,判断元素是否存在的依据,不仅要比较hash值,同时还要结合equels方法比较
HashSet中的add()方法会使用HashMap的put()方法
Java面试题——Set接口
HashMap的key值是唯一的,由源码可以看出HashSet添加进去的值就是作为HashMap的key值,并且在HashMap中如果K/V相同时,会用新的V覆盖掉旧的V,然后返回旧的V,所以不会重复

相关文章:

  • 2022-12-23
  • 2021-09-19
  • 2022-01-29
  • 2022-12-23
  • 2021-04-23
猜你喜欢
  • 2021-12-06
  • 2022-12-23
  • 2021-12-15
  • 2021-04-18
  • 2021-10-17
相关资源
相似解决方案