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());
  }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章