排序的HashMap我已經哈希映射的ArrayList的在我所喜歡的名字,PHONENO,日期,年齡鍵....根據一個關鍵
我想根據日期字段HashMap的排序。
如果我使用LinkedHashMap,那麼它也沒有用,因爲我以隨機方式獲取值。
我不能使用一個對象而不是HashMap,因爲我不知道我會得到多少條目。我正在動態地放置鍵和值。
排序的HashMap我已經哈希映射的ArrayList的在我所喜歡的名字,PHONENO,日期,年齡鍵....根據一個關鍵
我想根據日期字段HashMap的排序。
如果我使用LinkedHashMap,那麼它也沒有用,因爲我以隨機方式獲取值。
我不能使用一個對象而不是HashMap,因爲我不知道我會得到多少條目。我正在動態地放置鍵和值。
您需要製作一個比較器,爲哈希映射中的「Date」值選取值,然後使用該比較值進行比較。
Collections.sort(list, new Comparator<Map<String, Object>>() {
public int compare(Map<String, Object> map1, Map<String, Object> map2) {
Date date1 = (Date) map1.get("Date");
Date date2 = (Date) map2.get("Date");
return date1.compareTo(date2);
}
});
但這嚴重聞起來像對象拒絕。爲什麼不爲這個數據創建一個真實的對象?如果這種排序經常出現,你甚至可以使其成爲可比較的。
你的意思是你想根據某個日期鍵下的每個hashmap的值對hashmaps數組進行排序? – radai
爲什麼有一組地圖?爲什麼不用一個地圖呢?你爲什麼不使用'SortedMap'? – fge
'Collections.sort(List,Comparator)'是你將要使用的。 –