package cn.com.lzt.common.service.impl; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import cn.com.lzt.common.dto.RoleUserDto; import cn.com.lzt.common.dto.VisibleRangeDto; public class Test { public static void main(String[] args) { // testSpiltStr(); // pretreatment(); // getVisibleRangeList(); bulidRoleUserMap(); } private static void testSpiltStr() { String s0 = "lasjflsdf"; String s1 = "P:0-900;A:0-300;M:0-99"; String s2 = "P:0-900;A:0-300;M:0-99;C:0-90;D:0-199"; List list = new ArrayList(); String [] arr0 = s2.split(";"); for(int i=0; i pretreatment(){ String rangeCodeStrs = "P:0-900; A:0-300 ; M:0-99;C:0-90;D:0-199;100-299"; List rangeCodeList = new ArrayList(); String [] arr0 = rangeCodeStrs.split(";"); for(int i=0; i getVisibleRangeList(){ String s1 = "P:0-900"; String s2 = " A : 0 - 300 "; String s3 = "M:0-99"; String s4 = "C:0-90"; String s5 = "D:0-199"; String s6 = "100-299"; List rangeCodeList = new ArrayList(); rangeCodeList.add(s1); rangeCodeList.add(s2); rangeCodeList.add(s3); rangeCodeList.add(s4); rangeCodeList.add(s5); rangeCodeList.add(s6); List rangeList = new ArrayList(); for(String rangeCode : rangeCodeList){ if(rangeCode.contains(":") || rangeCode.contains(":")){ String [] arr1 = rangeCode.split(":");// 半角分隔 if(arr1.length > 1){ String code = arr1[0].trim(); String rangeVal = arr1[1].trim(); if(rangeVal.contains("-") || rangeVal.contains("-")){ String[] r1 = rangeVal.split("-");// 半角分隔 if(r1.length > 1){ VisibleRangeDto rangeDto = new VisibleRangeDto(); rangeDto.setCode(code); rangeDto.setLeftVal(Integer.parseInt(r1[0].trim())); rangeDto.setRightVal(Integer.parseInt(r1[1].trim())); rangeDto.setRangeVal(rangeVal); rangeList.add(rangeDto); }else{ String[] r2 = rangeCode.split("-");// 全角分隔 if(r2.length > 1){ VisibleRangeDto rangeDto = new VisibleRangeDto(); rangeDto.setCode(code); rangeDto.setLeftVal(Integer.parseInt(r2[0].trim())); rangeDto.setRightVal(Integer.parseInt(r2[1].trim())); rangeDto.setRangeVal(rangeVal); rangeList.add(rangeDto); } } } }else{ String [] arr2 = rangeCode.split(":");// 全角分隔 if(arr2.length > 1){ String code = arr2[0].trim(); String rangeVal = arr2[1].trim(); if(rangeVal.contains("-") || rangeVal.contains("-")){ String[] r1 = rangeVal.split("-");// 半角分隔 if(r1.length > 1){ VisibleRangeDto rangeDto = new VisibleRangeDto(); rangeDto.setCode(code); rangeDto.setLeftVal(Integer.parseInt(r1[0].trim())); rangeDto.setRightVal(Integer.parseInt(r1[1].trim())); rangeDto.setRangeVal(rangeVal); rangeList.add(rangeDto); }else{ String[] r2 = rangeCode.split("-");// 全角分隔 if(r2.length > 1){ VisibleRangeDto rangeDto = new VisibleRangeDto(); rangeDto.setCode(code); rangeDto.setLeftVal(Integer.parseInt(r2[0].trim())); rangeDto.setRightVal(Integer.parseInt(r2[1].trim())); rangeDto.setRangeVal(rangeVal); rangeList.add(rangeDto); } } } } } }else{ if(rangeCode.contains("-") || rangeCode.contains("-")){ String[] r1 = rangeCode.split("-");// 半角分隔 if(r1.length > 1){ VisibleRangeDto rangeDto = new VisibleRangeDto(); rangeDto.setCode(null); rangeDto.setLeftVal(Integer.parseInt(r1[0].trim())); rangeDto.setRightVal(Integer.parseInt(r1[1].trim())); rangeDto.setRangeVal(rangeCode); rangeList.add(rangeDto); }else{ String[] r2 = rangeCode.split("-");// 全角分隔 if(r2.length > 1){ VisibleRangeDto rangeDto = new VisibleRangeDto(); rangeDto.setCode(null); rangeDto.setLeftVal(Integer.parseInt(r2[0].trim())); rangeDto.setRightVal(Integer.parseInt(r2[1].trim())); rangeDto.setRangeVal(rangeCode); rangeList.add(rangeDto); } } } } } System.out.println("rangeList:" + rangeList); return rangeList; } /** * 构建用户与角色的关系Map key:userid, value:RoleUserDto */ private static void bulidRoleUserMap (){ List roleUserList = new ArrayList(); RoleUserDto dto1 = new RoleUserDto("zhangsan","a","100"); RoleUserDto dto2 = new RoleUserDto("zhangsan","b","200"); RoleUserDto dto3 = new RoleUserDto("zhangsan","c","300"); roleUserList.add(dto1); roleUserList.add(dto2); roleUserList.add(dto3); RoleUserDto dto4 = new RoleUserDto("lisi","b","200"); RoleUserDto dto5 = new RoleUserDto("lisi","c","300"); roleUserList.add(dto4); roleUserList.add(dto5); RoleUserDto dto6 = new RoleUserDto("wuzun","c","300"); RoleUserDto dto7 = new RoleUserDto("wuzun","d","400"); RoleUserDto dto8 = new RoleUserDto("wuzun","e","500"); roleUserList.add(dto6); roleUserList.add(dto7); roleUserList.add(dto8); RoleUserDto dto9 = new RoleUserDto("zhengshuang","d","400"); roleUserList.add(dto9); RoleUserDto dto10 = new RoleUserDto("liudehua","f","600"); roleUserList.add(dto10); if(roleUserList != null && roleUserList.size() > 0){ Map> ruMap = new HashMap>(); for(RoleUserDto dto : roleUserList){ if(ruMap.containsKey(dto.getUserid())){ ruMap.get(dto.getUserid()).add(dto); }else{ List dtoList = new ArrayList(); dtoList.add(dto); ruMap.put(dto.getUserid(), dtoList); } } System.out.println("-------------------"); } } }