java - 如何根据日期对 hashmap<String , String> 的 ArrayList 的数据进行排序

标签 java sorting arraylist hashmap

我已经根据名称对数据进行了排序。但是当我要根据“日期”对散列映射的数组列表的数据进行排序时,我不知道如何解决它。下面给出了我按名称排序的方法。

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;
}   

我已经收到来自 xml 解析的数据。我们以字符串格式获取名称、日期、时间等。

最佳答案

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

  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;
}

关于java - 如何根据日期对 hashmap<String , String> 的 ArrayList 的数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22812349/

相关文章:

java - Android - 如何合并两个 ArrayLists

java - 不小心创建了重复的对象? [Java]

python - PySpark - 如何根据坐标矩阵中表示的相似性获取 top-k id?

Java ArrayList 尝试检查具有此名称的对象是否存在

算法——找出字符串a在字符串b中的所有排列

xml - 使用 XSLT 将 XML 排序为 XML

java - 如何比较Arraylist中不同数组中的两个元素?

java : use of executeQuery(string) method not supported error?

java - 实现 JFrame 和 JPanel 之间的区别

java - 带有Gradle的Intellij中的调试器配置