当前位置:编程学习 > JAVA >>

set里面怎么会有重复的值。

 Set<List<Interval>> set = new HashSet<List<Interval>>();
循环list
 List<Interval> taskList = new ArrayList<Interval>();
 Interval intervali = intervals.get(i);

 set.add(taskList);

最后得到的set里面有很多重复的list

自己测试了一下 不会有这样的情况,不知道是哪出了问题,求高手指点。 --------------------编程问答-------------------- 重写对象Interval equals和hashcode方法 --------------------编程问答--------------------
引用 1 楼 tlfu_12344 的回复:
重写对象Interval equals和hashcode方法

--------------------编程问答-------------------- 顶2楼! --------------------编程问答-------------------- 拜托,你list是循环生成的,每次set里放入的list对象都是一个新的对象,是不一样的 --------------------编程问答-------------------- set里放的是对象,每次你都重新生成,内存地址都是不一样的,两个对象又不相等,你说他重复只是你自己看着内容重复吧,你要不要把set里存放的每一个List的哈希码打出来看一下,还是不是一样的 --------------------编程问答-------------------- 对象的两个方法我重写过了! --------------------编程问答-------------------- 886991683
772366460
-479180638
-479180638
-479180638
-1906911280
938013814
-856166982
-1553826436
966642965
-1612084545
1671401627
1861993105
1861993105
373966019  这是hashcode --------------------编程问答-------------------- [[[06:00-09:30], [09:00-11:30], [09:00-12:30]], [[06:00-09:30], [09:00-12:30]], [[06:00-09:30]], [[06:00-09:30]], [[06:00-09:30]], [[09:00-11:30], [09:00-12:30], [10:00-10:30]], [[09:00-11:30], [10:00-10:30]], [[09:00-11:30], [11:00-13:30]], [[09:00-11:30]], [[09:00-12:30], [10:00-10:30]], [[09:00-12:30], [11:00-13:30], [12:00-14:30]], [[09:00-12:30], [12:00-14:30]], [[10:00-10:30]], [[10:00-10:30]], [[11:00-13:30], [12:00-14:30]]]  这是set  --------------------编程问答--------------------
引用 6 楼 zhangyansg 的回复:
对象的两个方法我重写过了!


对象的方法重写后,放对象到set里面就不会重复和将存入对象的list放入set没有联系。
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,