SpingMVC框架中去掉List<Bean>中重复bean的方法

7 篇文章 1 订阅
6 篇文章 0 订阅

1.重写实体类Bean的equals()和hashCode()方法

package com.wsbs.modules.personal.entity;

import com.ect.cloud.common.persistence.DataEntity;

/**
 * 
 * 此类描述的是:个人基本信息
 */
public class PersonalBasicListBean extends DataEntity<PersonalBasicListBean>{

	private static final long serialVersionUID = 1L;
	private String grbh;//个人编号
	private String dwmc;//单位名称
	private String sfzh;//身份证号
	private String xm;//姓名
	private String xb;//性别
	private String mz;//民族
	private String cjgzsj;//参加工作日期
	private String ryzt;//人员状态
	private String cbzt;//参保状态
	private String ssqh;//所属区号
	private String kh;//社会保障卡卡号
	private String ltxsj;//离退休日期
	private String lxdh;//联系电话
	
	private String ybcnsj;//医保参保时间
	private String ybjfys;//医保缴费月数
	private String ybzhye;//医保账户余额
	private String ylcnsj;//养老参保时间
	private String yljfsj;//养老月数
	private String yljfys;//养老账户总额
	private String aab324;//统筹区 341801

	@Override //重写equals方法 
	public boolean equals(Object obj) {  
	PersonalBasicListBean s=(PersonalBasicListBean)obj;   
	return grbh.equals(s.grbh) && 
		   dwmc.equals(s.dwmc) &&
		   sfzh.equals(s.sfzh) &&
		   xm.equals(s.xm) &&
		   xb.equals(s.xb) &&
		   mz.equals(s.mz) &&
		   cjgzsj.equals(s.cjgzsj) &&
		   ryzt.equals(s.ryzt) &&
		   cbzt.equals(s.cbzt) &&
		   ssqh.equals(s.ssqh) &&
		   kh.equals(s.kh) &&
		   ltxsj.equals(s.ltxsj) &&
		   lxdh.equals(s.lxdh) &&
		   ybcnsj.equals(s.ybcnsj) &&
		   ybjfys.equals(s.ybjfys) &&
		   ybzhye.equals(s.ybzhye) &&
		   ylcnsj.equals(s.ylcnsj) &&
		   yljfsj.equals(s.yljfsj) &&
		   yljfys.equals(s.yljfys);   
	}  
	
	@Override  //重写hashCode方法
	public int hashCode() {  
	String in = grbh + dwmc + sfzh + xm + xb + mz+
			    cjgzsj + ryzt+ cbzt + ssqh + kh + ltxsj+ 
			    lxdh + ybcnsj+ybjfys + ybzhye+ ylcnsj + yljfsj+yljfys;  
	return in.hashCode();  
	}  

	
	public String getGrbh() {
		return grbh;
	}

	public void setGrbh(String grbh) {
		this.grbh = grbh;
	}

	public String getDwmc() {
		return dwmc;
	}

	public void setDwmc(String dwmc) {
		this.dwmc = dwmc;
	}

	public String getSfzh() {
		return sfzh;
	}

	public void setSfzh(String sfzh) {
		this.sfzh = sfzh;
	}

	public String getXm() {
		return xm;
	}

	public void setXm(String xm) {
		this.xm = xm;
	}

	public String getXb() {
		return xb;
	}

	public void setXb(String xb) {
		this.xb = xb;
	}

	public String getMz() {
		return mz;
	}

	public void setMz(String mz) {
		this.mz = mz;
	}

	public String getCjgzsj() {
		return cjgzsj;
	}

	public void setCjgzsj(String cjgzsj) {
		this.cjgzsj = cjgzsj;
	}

	public String getRyzt() {
		return ryzt;
	}

	public void setRyzt(String ryzt) {
		this.ryzt = ryzt;
	}

	public String getCbzt() {
		return cbzt;
	}

	public void setCbzt(String cbzt) {
		this.cbzt = cbzt;
	}

	public String getSsqh() {
		return ssqh;
	}

	public void setSsqh(String ssqh) {
		this.ssqh = ssqh;
	}

	public String getKh() {
		return kh;
	}

	public void setKh(String kh) {
		this.kh = kh;
	}

	public String getLtxsj() {
		return ltxsj;
	}

	public void setLtxsj(String ltxsj) {
		this.ltxsj = ltxsj;
	}

	public String getLxdh() {
		return lxdh;
	}

	public void setLxdh(String lxdh) {
		this.lxdh = lxdh;
	}

	public String getYbcnsj() {
		return ybcnsj;
	}

	public void setYbcnsj(String ybcnsj) {
		this.ybcnsj = ybcnsj;
	}

	public String getYbjfys() {
		return ybjfys;
	}

	public void setYbjfys(String ybjfys) {
		this.ybjfys = ybjfys;
	}

	public String getYbzhye() {
		return ybzhye;
	}

	public void setYbzhye(String ybzhye) {
		this.ybzhye = ybzhye;
	}

	public String getYlcnsj() {
		return ylcnsj;
	}

	public void setYlcnsj(String ylcnsj) {
		this.ylcnsj = ylcnsj;
	}

	public String getYljfsj() {
		return yljfsj;
	}

	public void setYljfsj(String yljfsj) {
		this.yljfsj = yljfsj;
	}

	public String getYljfys() {
		return yljfys;
	}

	public void setYljfys(String yljfys) {
		this.yljfys = yljfys;
	}

	public String getAab324() {
		return aab324;
	}

	public void setAab324(String aab324) {
		this.aab324 = aab324;
	}

}

2.用此bean接收实体类List集合接收数据,用hashSet方法进行去重得到新集合,并对新集合进行测试


//用list<Bean>接受数据
List<PersonalBasicListBean> pbList = 
                personalBasicService.getGrjbxxList(login.getUuid(), login.getAac002(), 
                login.getAac003(), Global.getConfig("token"));
//使用hashSet进行对象中元素的去重,获得新对象集合list
Set<PersonalBasicListBean> ts = new HashSet<PersonalBasicListBean>();  
ts.addAll(pbList);  
//循环打印测试
System.out.println("循环打印出不重复的对象.........");
for (PersonalBasicListBean pbl : ts) {  
	ystem.out.println(pbl);  
} 
//将去重后的List集合放入视图中
model.addAttribute("personalBasicBeanList", ts);

3.在jsp页面上对List<Bean>集合进行长度判断和循环

<c:forEach items="${personalBasicBeanList}" var="personalBasicBean">
	        <c:if test="${fn:length(personalBasicBeanList)>1}">
            <span style="font-weight:bold;color:green;font-size:14px">&nbsp;${personalBasicBean.xm}</span>
	        <span style="color:#157ab5;font-size:14px;font-weight:bold">在参保区&nbsp;</span>
	        <span style="font-weight:bold;color:green;font-size:14px">${fns:getDictLabel(personalBasicBean.ssqh, "aab324", "")}&nbsp;</span>
	        <span style="font-weight:bold;color:#157ab5;font-size:14px">的个人基本信息</span>
	        </c:if>
	        
	        <table class="table table-striped table-bordered table-condensed">
			<tr>
				<td align="right"><label>身份证号:</label></td>
				<td>
					${personalBasicBean.sfzh}
				</td>
				<td align="right"><label>姓&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;名:</label></td>
				<td>
					${personalBasicBean.xm}
				</td>
			</tr>
			<tr>
				<td align="right"><label>社保卡号:</label></td>
				<td>
					${personalBasicBean.kh}
				</td>
				<td align="right"><label>个人编号:</label></td>
				<td>
					${personalBasicBean.grbh}
				</td>
			</tr>
			<tr>
				<td align="right"><label>单位名称:</label></td>
				<td>
					${personalBasicBean.dwmc}
				</td>
				<td align="right"><label>所属县区:</label></td>
				<td>
					${fns:getDictLabel(personalBasicBean.ssqh, "aab324", "")}
				</td>
			</tr>
			<tr>
				<td align="right"><label>人员状态:</label></td>
				<td>
					${fns:getDictLabel(personalBasicBean.ryzt, "ryzt", "")}
				</td>
				<td align="right"><label>参保状态:</label></td>
				<td>
					${fns:getDictLabel(personalBasicBean.cbzt, "cbzt", "")}
				</td>
			</tr>
			<tr>
				<td align="right"><label>离退休时间:</label></td>
				<td>
					${personalBasicBean.ltxsj}
				</td>
				 <td align="right"><label>联系电话:</label></td>
				<td>
					${personalBasicBean.lxdh}
				</td> 
			</tr>
			<tr>
				<td align="right"><label>医保参保时间:</label></td>
				<td>
					${personalBasicBean.ybcnsj}
				</td>
				 <td align="right"><label>医保缴费月数:</label></td>
				<td>
					${personalBasicBean.ybjfys}
				</td> 
			</tr>
			<tr>
				<td align="right"><label>医保账户余额:</label></td>
				<td>
					${personalBasicBean.ybzhye}
				</td>
				 <td align="right"><label>养老参保时间:</label></td>
				<td>
					${personalBasicBean.ylcnsj}
				</td> 
			</tr>
			<tr>
				<td align="right"><label>养老月数:</label></td>
				<td>
					${personalBasicBean.yljfsj}
				</td>
				 <td align="right"><label>养老账户总额:</label></td>
				<td>
					${personalBasicBean.yljfys}
				</td> 
			</tr>
		</table>
	    <hr>
	    </c:forEach>

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值