List中自定义比较器进行倒序排列(以 List<Map<String, Object>>为例,对map中时间类型的键值对进行倒序排列)
List<Map<String, Object>> list;
//进行list的时间倒序排列
Collections.sort(list, new Comparator<Map<String, Object>>()
{
@Override
//定义一个比较器
public int compare(Map<String, Object> o1, Map<String, Object> o2)
{
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try
{
Date dt1 = format.parse((String) o1.get("create_time"));
Date dt2 = format.parse((String) o2.get("create_time"));
if (dt1.getTime() > dt2.getTime())
{
return -1;
}
else if (dt1.getTime() < dt2.getTime())
{
return 1;
}
else
{
return 0;
}
}
catch (Exception e)
{
e.printStackTrace();
}
return 0;
}
});
到这里排序就已经结束了