//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);
}
}
}
}
java集合中元素两两互相比较
于 2021-06-11 16:17:29 首次发布

919

被折叠的 条评论
为什么被折叠?



