一个person类,里面有年龄、姓名等属性。有多个person类实例,怎么去除其中姓名相同的实例。求源代码。
4 回答
谜之米
TA贡献8条经验 获得超5个赞
你可重写 equals和hashCode,逻辑如下,如果实例中姓名相同 那么 hashcode 相同,然后把实例集合往set容器里放,如果实例中 姓名有相同的 那么hashcode相同 那么set容器就会用当前实例覆盖之前的hashcode一样的实例。
达拉崩吧斑得贝迪卜多比鲁翁
TA贡献41条经验 获得超38个赞
你的问题有点问题,先向你确认一下,
1、你有一个叫person的类
2、你创建了多个这个类的实例
3、其中实例中有name成员是相同的
解决方法:
第一种:从根源上解决,就是你在实例化的时候,不允许存在相同姓名相同的实例。如果存在就替换原来的或者不允许实例化
第二种:就你描述的解决,你描述的内容是说已经实例出来了多个姓名相同的实例,那么就要确定依据什么条件去去掉相同的实例,例如说:名字为“小明”,年龄大于100岁的去掉。再例如:信息完全相同的去掉(这个更符合实际)。
看你是需要那个,到时候我可以写个简单的例子给你。
servlet_jdbc
TA贡献1条经验 获得超0个赞
创建一个ArrayList集合;
把实例依次添加到集合里,在添加的时候对集合进行遍历,遍历集合时,判断name属性是否重复,重复则不添加;
最后集合里的对象就是去重的了。
添加回答
举报
0/150
提交
取消