java中对map根据value进行排序

   在利用map时,偶尔需要根据value的大小来进行排序,今天就遇到了。现在就把map根据value进行排序的方法在此记录。

1、声明一个hashmap对象

Map<String> map = new HashMap<String>();

2、通过ArrayList构造函数把map.entrySet()转换成list

List<Map.Entry<String,String>> mappingList = new ArrayList<Map.Entry<String,String>>(map.entrySet());

3、通过比较器进行比较排序

Collections.sort(mappingList, new Comparator<Map.Entry<String,String>>(){
   public int compare(Map.Entry<String,String> mapping1,Map.Entry<String,String> mapping2){
    return mapping1.getKey().compareTo(mapping2.getKey());
   }
  });  
  for(Map.Entry<String,String> mapping:mappingList){
   System.out.println(mapping.getKey()+":"+mapping.getValue());
  }


你可能感兴趣的:(java,排序,map)