• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
你的小铃铛呀
博客园    首页    新随笔    联系   管理    订阅  订阅

set集合的HashSet 类

set是一个没有重复元素, 没有存储顺序的集合,它主要有三个实现类,如下:

HashSet 类

HashSet 类是按照哈希算法来存储集合中的元素,当向 Set 集合中添加一个元素时,HashSet 会调用该元素的 hashCode() 方法,获取其哈希码,然后查找集合中是否有哈希值相同的对象,

如果没有就直接存入,如果有哈希值相同的对象, 和相同的对象逐个进行equals比较,如果比较结果全部为false就存入,根据这个哈希码计算出该元素在集合中的存储位置,进行储存,

如果比较结果包含true就不存

 

如果是默认的equals和hashcode方法,一个对象的属性只要有一条不同,就会向集合里面添加

 

这里重写的equals方法和hashcode方法,变成只要price这个属性不一样,就进行储存。

HashSet集合判断两个元素的标准是两个对象通过equals方法比较相等,并且两个对象的hashCode方法返回值也相等

posted @ 2021-03-30 14:44  你的小铃铛呀  阅读(100)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3