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