码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA对象去重

时间:2015-06-18 11:35:14      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:java 对象去重

JAVA对象去重比较恶心的说

需求:我要做的是去重每个权限的菜单,菜单表结构是 ID RoleID MenuID  获取的菜单表 应该是MenuID不能重复的

所以写菜单表的实体类,重写equals hashCode方法,让着2个作比较,下面代码中MenuID为主要比较的字段

package com.attendance.mvc.model;

import com.jfinal.plugin.activerecord.Model;

public class RoleMenu extends Model<RoleMenu> {
	// 类版本,系统自动生成
	private static final long serialVersionUID = 1L;//这是框架自带的东西 自动映射表字段,也就相当于get set自带了
	public final static RoleMenu me = new RoleMenu();

	@Override
	public boolean equals(Object obj) {
		RoleMenu roleMenu = (RoleMenu) obj;
		return this.getStr("MenuID").equals(roleMenu.getStr("MenuID"));
	}
	@Override  
	public int hashCode() {  
		return this.getStr("MenuID").hashCode();  
	}
}


这样给实体类重写2个方法之后 用set 自动去重

//获取权限菜单
	public  List<RoleMenu> GetRoleMenuList()
	{
		List<UserRole> userRoleList = this.GetUserRoleList();
		IRoleMenu roleMenuBusiness = BusinessFactory.CreateRoleMenuBusiness();
		List<RoleMenu> roleMenuList=new ArrayList<RoleMenu>();
		Set<RoleMenu> set=new HashSet<RoleMenu>();
		for(UserRole userRole:userRoleList)
		{
			List<RoleMenu> rmList =	 roleMenuBusiness.GetListByRoleID(userRole.getStr("RoleID"));
			set.addAll(rmList);
		}
		roleMenuList.addAll(set);
		return roleMenuList;
	}


 

 

JAVA对象去重

标签:java 对象去重

原文地址:http://blog.csdn.net/qq873113580/article/details/46545035

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!