java set 对象去重_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 {
// 類版本,系統自動生成
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 GetRoleMenuList()
{
List userRoleList = this.GetUserRoleList();
IRoleMenu roleMenuBusiness = BusinessFactory.CreateRoleMenuBusiness();
List roleMenuList=new ArrayList();
Set set=new HashSet();
for(UserRole userRole:userRoleList)
{
List rmList = roleMenuBusiness.GetListByRoleID(userRole.getStr("RoleID"));
set.addAll(rmList);
}
roleMenuList.addAll(set);
return roleMenuList;
}
總結
以上是生活随笔為你收集整理的java set 对象去重_JAVA对象去重的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Debian的下载和安装详细教程
- 下一篇: java转net_将java库转换为.n