首页 > 其他 > 详细

set集合

时间:2021-03-30 16:21:55      阅读:16      评论:0      收藏:0      [点我收藏+]

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

HashSet 类

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

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

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

技术分享图片

 

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

 技术分享图片

技术分享图片

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

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

set集合

原文:https://www.cnblogs.com/ForeverLoveByMe/p/14596747.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!