List<HashMap<String,String>> list, 根據hashmap中的某個鍵的值排序

//可以使用Collections.sort(List list, Comparator c)來實現

這裏舉例hashmap中存的一個時間的鍵值,按照時間的值來排序

//先寫個類實現Comparator,並重寫compare(Object o1, Object o2)方法,在方法中自定義比較邏輯

public class MyComparator implements Comparator {
@Override
    public int compare(Object o1, Object o2) {
    // TODO Auto-generated method stub
        int result = 0;
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            HashMap<String, String> map1 = (HashMap<String, String>) o1, map2 = (HashMap<String, String>) o2;
            Date map1_time = format.parse(map1.get("time"));
            Date map2_time = format.parse(map2.get("time"));
            if(map1_time.after(map2_time)){
                result = -1;
            }else if(map1_time.before(map2_time)){
                result = 1;
            }else if(map1_time.equals(map2_time)){
                result = 0;
            }
        } catch (Exception e) {
        // TODO: handle exception
            e.printStackTrace();
        }
        return result;
    }
}

調用的時候Collections.sort(List對象, new MyComparator());

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章