我想排序我的HasMap ArrayList,所以我的列表視圖按值排序,但我沒有得到它。 基本上我有幾個按鍵,其中之一是「類型」持有像"1", "4", "3",....
排序整數作爲字符串的HashMap <String,String>
我想這個關鍵的「類型」命令列表值,但我得到"1", "11", "2"
,而不是"1", "2", "11"
...
我想這個代碼對它進行排序:
Collections.sort(myList, new Comparator<HashMap<String, String>>() {
public int compare(HashMap<String,
String> mapping1,HashMap<String, String> mapping2) {
return mapping1.get("type").compareTo(mapping2.get("type"));
}
});
爲什麼你使用'String'作爲鍵,當你純粹用它來存儲'ints'? – anotherdave
那裏有更多的鍵沒有ints。當我嘗試將該鍵更改爲int時,在我的map.put(key,value)上得到一個錯誤 – bond
在這種情況下,要小心NumberFormatException會被接受的答案拋出 - 您需要擴展該邏輯以適應您的有效String鍵。 http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Integer.html#valueOf(java.lang.String) – anotherdave