⑴ java如何把Map<String,Object> map = new HashMap<String, Object>(); 按 Key 排序
首先Map排序需要自己寫一堆演算法。其次HashMap是無序的,即使已經排序正確了,取值時也不一定就是按順序取出的。所以直接排序存放是不可行的。
但可以曲線救國的辦法,通過Set<String> keys = map.keySet();取得map的key值集合,然後單獨給keys來個排序就簡單多了,然後按排序後的keys去遍歷取值,就OK了。
⑵ java hashmap按照value來排序
ArrayList<Entry<String,String>> list = new ArrayList<Entry<String,String>>(sMap.entrySet());
Collections.sort(list, new Comparator<Object>(){
public int compare(Object e1, Object e2){
int v1 = Integer.parseInt(((Entry<String,String>)e1).getValue().toString());
int v2 = Integer.parseInt(((Entry)e2).getValue().toString());
return v1-v2;
}
});
for (Entry<String, String> e: l){
System.out.println(e.getKey()+" "+e.getValue());
}