1.HashMap按value排序:
HashMap按哈希算法离散存取数据,自身是无法实现排序功能的,需要先把数据结构转为List,借助Collections工具类,重写排序规则实现排序。
1 Map<Integer,String> map=new HashMap<Integer,String>(); 2 map.put(10,"bb"); 3 map.put(5,"hh"); 4 map.put(2,"aa"); 5 map.put(7,"ee"); 6 map.put(4,"kk"); 7 8 List<Map.Entry<Integer,String>> list = new ArrayList(map.entrySet()); 9 Collections.sort(list, new Comparator<Map.Entry<Integer, String>>() { 10 @Override 11 public int compare(Map.Entry<Integer, String> o1, Map.Entry<Integer, String> o2) { 12 return o1.getValue().compareTo(o2.getValue()); 13 } 14 }); 15 16 for(Map.Entry<Integer,String> entry:list){ 17 System.out.println("key:"+entry.getKey()+" value:"+entry.getValue()); 18 } 19 }