Map根据value排序
网上找到的资源,
package com.test.ch1; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; public class MyIntComparator { public static void main(String[] args) { Map<String, Integer> map = new HashMap<String, Integer>(); map.put("阳光", 20); map.put("春节", 10); map.put("太阳", 30); map.put("多阳", 80); map.put("明媚", 90); map.put("努力", 15); map.put("坚持", 62); map.put("我最棒", 36); List<Map.Entry<String, Integer>> infoIds = new ArrayList<Map.Entry<String, Integer>>( map.entrySet()); //排序前 for (int i = 0; i < infoIds.size(); i++) { String id = infoIds.get(i).toString(); System.out.println(id); } //排序 Collections.sort(infoIds, 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("--------------------------排序后:"); for (int i = 0; i < infoIds.size(); i++) { Entry<String, Integer> id = infoIds.get(i); System.out.println(id.getKey()); } } }