日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java set 对象去重_JAVA对象去重

發布時間:2023/12/19 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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对象去重的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。