Set 判断俩个对象是否相等
2015-06-16 15:53
239 查看
Set判断俩个对象相同不是使用==运算符,而是根据equals方法。也就是说,如果只要俩个对象用equals方法比较返回true,Set就不会接受这个对象,反之,只要来个对象用equals方法返回false,Set就会接受这个对象(甚至这俩个对象是同一个对象,set也可以把他们当成俩个对象)。
HashSet按Hash算法来存储集合中的元素,因此具有良好的存取和查找性能。
当向HashSet集合中存入一个元素时,HashSet会调用该对象的HashCode()方法来得到该对象的hashCode值,
然后根据该HashCode的值来确定该对象在HashSet中存储位置,如果俩个元素通过equals方法比较返回true,但是他们的hashCode()方法返回的值不相等,HashSet将会把他们存储在不同的位置,也就可以添加成功了。
所以说:HashSet集合判断俩个元素相等的标志是:俩个对象通过equals方法比较相等,并且俩个对象的hashCode方法返回值也相等
相关文章推荐
- Ubuntu系统如何安装双网卡及更改网卡名称(eth0改为eth1)
- UVA 11054 - Wine trading in Gergovia
- 修改Tomcat默认编码
- Qt开发ActiveX及环境搭建
- Repo 下载路径
- Flume NG源码分析(三)使用Event接口表示数据流
- [POJ 2588]--Snakes(并查集)
- usr/bin/ld: cannot find 错误解决方法
- 【技术分享】sphinx的--rotate运行机制
- 50 Android Hacks阅读笔记
- 那些年优秀的HTML5活动页面
- Activemq配置——Jaas方式配置用户登录验证
- Android ImageView图片自适应
- BoW图像检索Python实战
- java打包时,导入第三方jar运行出现ClassNotFoundException
- 内联函数(转载)
- 为何实模式要采用段地址和偏移地址的方式来寻址
- 诸葛:三个原因,毁了数据分析态度
- android service中显示一个dialog
- mysql慢查询分析工具 pt-query-digest