老师 我实在是无法理解这里面有个知识点

来源:3-3 Set集合的数据的唯一性

星辰很精彩

2022-07-07 10:54:42

hashcode()和equals()方法的作用

写回答

1回答

好帮手慕小黑

2022-07-07

同学你好,HashSet保证元素的不重复和HashSet添加元素的流程有关,HashSet 添加元素的执行流程是:当把对象加入 HashSet 时,HashSet 会先计算对象的 hashcode 值来判断对象加入的位置,同时也会与HashSet中的其他对象的 hashcode 值作比较,如果没有相同的 hashcode,则集合中没有插入的对象,会将对象插入到集合中。但是如果发现有相同 hashcode 值的对象时,集合无法判断插入的对象和集合中的对象属性是否相同,所以会调用对象的 equals() 方法来检查对象是否真的相同,如果相同,则 HashSet 就不会让相同的对象加入到 HashSet 中,这样就保证了元素的不重复。

祝学习愉快!

1

0 学习 · 9886 问题

查看课程