public class MapUtil {
public final static int ASC = 0;
public final static int DESC = 1;
/**
* Map根据value值排序
*
* @param map 源数据
* @param sorted 排揎规则
* @return 排序后的map
*/
public static LinkedHashMap<String, Integer> valueSortedMap(Map<String, Integer> map, int sorted) {
List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
list.sort(new Comparator<Map.Entry<String, Integer>>() {
@Override
public int compare(Map.Entry<String, Integer> o1,
Map.Entry<String, Integer> o2) {
if (ASC == sorted) {
return o1.getValue().compareTo(o2.getValue());
} else {
return o2.getValue().compareTo(o1.getValue());
}
}
});
LinkedHashMap<String, Integer> sortedMap = new LinkedHashMap<>();
for (Map.Entry<String, Integer> entry : list) {
sortedMap.put(entry.getKey(), entry.getValue());
}
return sortedMap;
}
}
Map通过Value的值进行排序
于 2023-06-25 16:35:21 首次发布