怎么比较list中的对象

比如泛型为Person类的List,里面有多个Person对象,Person类有多个属性,姓名、年龄、性别等等。怎么从List中去除姓名重复的Person对象呢。是不是要重写什么equals方法?麻烦讲细点

fenkapian
浏览 1920回答 3
3回答

Elife漫格局

可以利用set集合的不重复特性去重,代码如下: HashSet h = new HashSet(list); list.clear(); list.addAll(h); 意思也很好理解,list是你的list集合,通过HashSet之后,变成了一个不重复但是无序的set集合,再将原本的list清空,将set中的集合加入list中,这个时候list就变成了不重复的集合,你可以写个例子试试

精慕门9254224

自己定义的类中equals方法都是比地址的,而你创建的实例地址都是不一样的!所以他们都不一样,list比较时都不一样,无法去重复!把equals方法修改为比较内容后,就可以了!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java