目的:消除重复的对象,对于重复的对象只保留一个。
1 有一个实体Bean.ExceptionBean 如下,重写Object的equals() 方法,比较两个对象是否是同一个对象:
public class ExceptionBean {
private String areaName;
private String groupName;
private int groupNo;
private String lineNo;
private String busJobNo;
private Date anchorTime;
private String faultName;
private String busType;
get/set方法省略
@Override
public boolean equals(Object obj) {
if(obj == null){
return false ;
}
if(this == obj){
return true;
}
ExceptionBean exceInfo = (ExceptionBean)obj;
if(this.getAreaName().equals(exceInfo.getAreaName())){
if(this.getGroupName().equals(exceInfo.getGroupName())){
if(this.getLineNo().equals(exceInfo.getLineNo())){
if(this.getBusJobNo().equals(exceInfo.getBusJobNo())){
if(this.getFaultName().equals(exceInfo.getFaultName())){
return true ;
}
}
}
}
}
return false ;
}
}
2 消除重复的对象,并且只保留一个。
/**
* 剔除重复
* @param falutList
* @return tempFaultList
*/
public static List<ExceptionBean> removeRepeatFalutInfo(List<ExceptionBean> falutList){
List<ExceptionBean> tempFaultList = new ArrayList<ExceptionBean>() ;
for(Object o:falutList){
if(!tempFaultList.contains(o)){
tempFaultList.add((ExceptionBean)o);
}
}
return tempFaultList;
}
OK,结束!