赞
踩
-
- //1.运用算法比较集合中元素(两两元素互相比较)
- //2.如果有相同人员处于不同员工等级,则按照优先级,该部分人员取优先级大的等级
- if (levelNames.size() > 1) {
- for (int i = 0; i < levelNames.size(); i++) {
- for (int j = levelNames.size() - 1; j > i; j--) {
- List<Long> o1 = new ArrayList<>();
- List<Long> o2 = new ArrayList<>();
-
- o1.addAll((List<Long>) resultMap.get(levelNames.get(i)));
- o2.addAll ((List<Long>) resultMap.get(levelNames.get(j)));
-
- String s1 = levelNames.get(i);
- String s2 = levelNames.get(j);
- Integer priority1 = 0;
- Integer priority2 = 0;
- for (UserLevelRuleVo levelRuleVo : levelRuleVos) {
- if (s1.equals(levelRuleVo.getLevelName())) {
- priority1 = levelRuleVo.getPriority();
- }
- if (s2.equals(levelRuleVo.getLevelName())) {
- priority2 = levelRuleVo.getPriority();
-
- }
- }
- //移除两个集合中相同元素
- if (priority1 < priority2) {
- o2.removeAll(o1);
- resultMap.put(s1, o1);
- resultMap.put(s2, o2);
- } else {
- o1.removeAll(o2);
- resultMap.put(s1, o1);
- resultMap.put(s2, o2);
- }
-
- }
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。