自定义类组成的List,去重的方法

来源:互联网 发布:app软件广告语 编辑:程序博客网 时间:2024/05/21 11:05
现有,自定义类
public class MyBean{       private String id ;       private String username ;       private String time ;       private String version ;}

首先,你需要重写这个类的equals和hashCode方法,如果两个对象的四个属性都一一相等时,视为这两个对象重复。那么,代码如下:
public boolean equals(Object obj){ if (obj == this){   return true ;} if (!(obj instanceof MyBean)){   return false ;}MyBeanother = (MyBean) obj; return this .id .equals(other .getId()) && this .getUsername().equals(other.getUsername())&& this .getVersion().equals(other.getVersion()) && this .getTime().equals(other.getTime());}
//确保equal的对象,是有相同hashcode的public int hashCode(){ return (id + version + username + time ).hashCode();}



然后,通过这行代码,就能对beanList去重啦~
beanList = new ArrayList<MyBean>( new LinkedHashSet<MyBean>(beanList));



原创粉丝点击