二維map排序

  方法:

 

public static Map.Entry[] getSortedHashtableByValue(Map<String,Map<String,Double>> map,String key) { 
   Set set = map.get(key).entrySet(); 
   Map.Entry[] entries= (Map.Entry[]) set.toArray(new Map.Entry[set.size()]);
   Arrays.sort(entries, new Comparator() {  
              public int compare(Object arg0, Object arg1) {  
                   Double key1 = Double.valueOf(((Map.Entry) arg0).getValue().toString());  
                   Double key2 = Double.valueOf(((Map.Entry) arg1).getValue().toString());  
                  return key1.compareTo(key2);  
               }  
         });
   
  return entries;    
 }

 

調用:

for(String key:tempMaps.keySet()){

//傳遞參數,調用排序方法
       Map.Entry[] set = getSortedHashtableByValue(tempMaps,key);

for (int i=0;i<set.length;i++){

//排序後輸出
             System.out.println( Double.valueOf(set[i].getValue().toString()));
       }

}

 

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