ArrayList关于equals的问题 本帖最后由 sinat_20150167 于 2014-11-21 10:39:52 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ArrayList 本身就没有去重的功能要去重的话,可以将ArrayList 中的元素放入set中,达到去重效果 1、ArrayList在添加元素的时候是自动调用equals进行元素比较的,对吗? 不对,ArrayList 添加时,顺序存放元素,不会进行比较什么的操作2、那为何我改写了equals后,仍然不去重复呢?看下面代码。 本身就不具备去重的功能3、相比之下,HashSet是不是添加元素的时候先自动调用hashCode,如果相同在hashCode中再自动调用equals进行进一步比较啊?其实HashSet并不是必须去重,而是提供了方便的去重方法而已对吧。 HashSet 的去重,就是根据hashcode 和 equals 方法来判断的,所以重写hashcode 方法和 equals 方法可以改变去重的条件 HttpClient获得人人相册信息 html的SELECT列表问题 菜鸟级别的问题:myeclipse 请求达人 分析下这个程序 sql server2005连接 为什么我设置好了环境变量,测试也成功,但是我打开demo里的html文件却什么也不显示 头痛好几天了,求一个java算法,请高手指点! 请问这段程序怎样加才能处理按钮事件? 高分相送:请教关于DES加解密的问题 如何对一个List中元素进行统计? 关于java栈的数据共享问题 关于Java正则表达式的非贪婪模式
要去重的话,可以将ArrayList 中的元素放入set中,达到去重效果
不对,ArrayList 添加时,顺序存放元素,不会进行比较什么的操作
2、那为何我改写了equals后,仍然不去重复呢?看下面代码。
本身就不具备去重的功能
3、相比之下,HashSet是不是添加元素的时候先自动调用hashCode,如果相同在hashCode中再自动调用equals进行进一步比较啊?其实HashSet并不是必须去重,而是提供了方便的去重方法而已对吧。
HashSet 的去重,就是根据hashcode 和 equals 方法来判断的,所以重写hashcode 方法和 equals 方法可以改变去重的条件