@Map算定义key排序
Map算定义key排序
定义排序,重写排序方法
private Map<String, List<PostRiskDivideCoefficient>> sortMap(Map<String, List<PostRiskDivideCoefficient>> unSortMap, List<DictVo> dictVos){
List<Map.Entry> entryList = new ArrayList<>(unSortMap.entrySet());
Collections.sort(entryList, new Comparator<Map.Entry>() {
@Override
public int compare(Map.Entry o1, Map.Entry o2) {
return setSortValue(o1.getKey().toString(),dictVos) - setSortValue(o2.getKey().toString(),dictVos) ;
}
});
//用linkMap来保证顺序不会乱
Map<String, List<PostRiskDivideCoefficient>> returnMap = new LinkedHashMap<>();
for (Map.Entry mapping : entryList){
returnMap.put((String)mapping.getKey(), (List<PostRiskDivideCoefficient>)mapping.getValue());
}
return returnMap;
}
排序规范
根据泛型,或者传入相关的排序List返回对应的值
private int setSortValue(String v1,List<DictVo> dictVos){
for (DictVo dictVo : dictVos) {
if(v1.equals(dictVo.getDictDisplay())){
return dictVo.getOrderNum();
}
}
return 99999;
}