消除通过重写Object的equals方法重复的对象

来源:互联网 发布:淘宝宝贝上架时间技巧 编辑:程序博客网 时间:2024/06/05 16:04

目的:消除重复的对象,对于重复的对象只保留一个。

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方法省略@Overridepublic 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,结束!