猿问

上次问的问题还是没搞懂,再问问

一个person类,里面有年龄、姓名等属性。有多个person类实例,怎么去除其中姓名相同的实例。

求源代码。

fenkapian
浏览 2284回答 4
4回答

谜之米

你可重写 equals和hashCode,逻辑如下,如果实例中姓名相同 那么 hashcode 相同,然后把实例集合往set容器里放,如果实例中 姓名有相同的 那么hashcode相同 那么set容器就会用当前实例覆盖之前的hashcode一样的实例。

达拉崩吧斑得贝迪卜多比鲁翁

你的问题有点问题,先向你确认一下,1、你有一个叫person的类2、你创建了多个这个类的实例3、其中实例中有name成员是相同的解决方法:第一种:从根源上解决,就是你在实例化的时候,不允许存在相同姓名相同的实例。如果存在就替换原来的或者不允许实例化第二种:就你描述的解决,你描述的内容是说已经实例出来了多个姓名相同的实例,那么就要确定依据什么条件去去掉相同的实例,例如说:名字为“小明”,年龄大于100岁的去掉。再例如:信息完全相同的去掉(这个更符合实际)。看你是需要那个,到时候我可以写个简单的例子给你。

servlet_jdbc

创建一个ArrayList集合;把实例依次添加到集合里,在添加的时候对集合进行遍历,遍历集合时,判断name属性是否重复,重复则不添加;最后集合里的对象就是去重的了。

幕附

用set啊  看看集合
随时随地看视频慕课网APP

相关分类

Java
我要回答