估计,一眼就看懂代码;
list内有很多bean;
为了追求效率;需要查出这里的某字段,在线/不在线
具体见代码:
/**
* 正常和异常 目前采用在线率来看
* @param map
* @param bracnh
* @return
*/
private static boolean addNeedBeanToMap(Map<String, List<ItemBranchStList>> map, ItemBranchStList bracnh) {
boolean flag;
String key = bracnh.getOnlineStatus();//按照设备在线来筛选
if (map.containsKey(key)) {
List<ItemBranchStList> value = map.get(key);
value.add(bracnh);
map.put(key, value);
flag = true;
} else {
List<ItemBranchStList> value = new ArrayList<>();
value.add(bracnh);
map.put(key, value);
flag = false;
}
return flag;
}
private List<ItemBranchStList> displayNormal(boolean isNormal, List<ItemBranchStList> branchStList) {
Map<String, List<ItemBranchStList>> map = new HashMap<String, List<ItemBranchStList>>();
List<ItemBranchStList> datasDisnormal = new ArrayList<>();
List<ItemBranchStList> dataAll = new ArrayList<>();
dataAll.addAll(branchStList);
for (ItemBranchStList branch : branchStList) {
addNeedBeanToMap(map, branch);
}
datasDisnormal = map.get("不在线");
if (!isNormal) {
return datasDisnormal;
} else {
dataAll.removeAll(datasDisnormal);
return dataAll;
}
}