现有,自定义类
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));