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

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

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,结束!



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值