JAVA对象去重 和数组对象排序
来源:互联网 发布:八甲基环四硅氧烷 知乎 编辑:程序博客网 时间:2024/05/22 03:52
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();@Overridepublic 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;}
数组对象排序 实现Comparable接口 重写compareTo方法 给出需要排序的字段
public class RoleMenu extends Model<RoleMenu> implements Comparable<RoleMenu> { // 类版本,系统自动生成 private static final long serialVersionUID = 1L; public final static RoleMenu me = new RoleMenu(); @Override public int compareTo(RoleMenu o) { return this.getDouble("Order").compareTo(o.getDouble("Order")); }}
使用
Collections.sort(List<RoleMenu>);
0 0
- JAVA对象去重 和数组对象排序
- 数组对象去重
- 数组对象自带的排序方法,数组去重
- java 对象去重
- JS 数组对象去重
- js 数组对象去重
- js数组对象去重
- javascript用对象方法实现数组去重并排序
- List对象去重和按照某个字段排序
- Java List<对象>去重
- 数组去重,根据对象属性去重
- js数组中的对象去重
- iOS 自定义对象数组去重
- JS中数组对象去重
- js数组中对象去重
- list 对象去重并排序
- java对象数组排序
- Java对象数组排序
- C++实现设计模式 - STATE(状态)—对象行为模式(第二十个)
- 十六进制图片转二进制
- SAT阅读的短期及长期备考策略
- Java中如何进行BASE64编码和解码
- ABAP根据输入的表名动态生成上传TXT数据的代码
- JAVA对象去重 和数组对象排序
- AFNetWorking的用法
- yum源设置为CD
- 简单音乐播放器----java (美。。。。)
- 操作系统概念学习笔记 12 进程同步(二)管程
- 使用一行CSS代码生成全屏背景图像
- 大型网站图片服务器架构的演进
- 智能指针(smart pointer)(1):auto_ptr
- 摆脱“依赖”