TreeMap按照value进行排序

时间:2025-04-03 22:14:11
public class MyTreeMap { /** * @param args */ public static void main(String[] args) { Map<String, Integer> map = new TreeMap<String, Integer>(); map.put("c", 2); map.put("ad", 1); map.put("bc", 1); map.put("abc", 3); List<Map.Entry<String, Integer>> treeMapList = new ArrayList<Map.Entry<String, Integer>>(map.entrySet()); //排序前 System.out.println("排序前------------------"); for (int i = 0; i < treeMapList.size(); i++) { String id = treeMapList.get(i).toString(); System.out.println(id); } //通过key倒序排序 Collections.sort(treeMapList, new Comparator<Map.Entry<String, Integer>>() { public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) { return (o2.getKey()).toString().compareTo(o1.getKey()); } }); System.out.println("key倒序排列------------------"); for (int i = 0; i < treeMapList.size(); i++) { String id = treeMapList.get(i).toString(); System.out.println(id); } //通过value倒序排序 Collections.sort(treeMapList, new Comparator<Map.Entry<String, Integer>>() { public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) { return (o2.getValue() - o1.getValue()); } }); System.out.println("value倒序排列------------------"); for (int i = 0; i < treeMapList.size(); i++) { String id = treeMapList.get(i).toString(); System.out.println(id); } }