如何在日期的基础上对hashmap <String,String>的ArrayList数据进行排序

Pra*_*hat 2 java sorting arraylist hashmap

我已根据名称对数据进行了排序.但是当我要根据"日期"对哈希映射的arraylist数据进行排序时,我不知道如何解决它.我按名称排序的方法如下.

protected ArrayList<HashMap<String, String>> setListOrderByName(ArrayList<HashMap<String, String>> menuItems2) {

    Collections.sort(menuItems2, new Comparator<HashMap<String, String>>() {
        public int compare(HashMap<String, String> mapping1,
                HashMap<String, String> mapping2) {
            return mapping1.get(KEY_NAME).compareTo(mapping2.get(KEY_NAME));
        }
    });

    return menuItems2;
}   
Run Code Online (Sandbox Code Playgroud)

我收到了xml解析的数据.我们以字符串格式获取名称,日期,时间等.

lok*_*ath 6

将字符串转换为日期然后进行比较

  protected ArrayList<HashMap<String, String>>      
setListOrderByName(ArrayList<HashMap<String, String>> menuItems2) {

Collections.sort(menuItems2, new Comparator<HashMap<String, String>>() {
DateFormat f = new SimpleDateFormat("dd/MM/yyyy '@'hh:mm a");//do determ    

@Override
public int compare(HashMap<String, String> mapping1,
    HashMap<String, String> mapping2) {
try {
    return f.parse(mapping1.get(KEY_NAME)).compareTo(f.parse(mapping2.get(KEY_NAME)));
} catch (ParseException e) {
    throw new IllegalArgumentException(e);
}
}
});
return menuItem2;
}
Run Code Online (Sandbox Code Playgroud)