List集合排序有没有一种最简单的方法
我有一个List<Map<String,Object>> list集合
这个集合里面的map中有个时间列
我想通过这个时间列将这个list集合排序
我能想到的方法有:
一 通过循环排序
二 将list集合里面的map集合转成对象,再在对象里面实现Complarable 接口进行排序,
脑子笨想不到很好的方法,请教各路大神有木有更简单,效率更高的方法。
------解决方案--------------------public class MapBean implements Comparator<MapBean> {
private Map<String,Object> map=new HashMap<String ,Object>();
public int compare(MapBean o1, MapBean o2) {
return o1.getMap().get("date")-o2.getMap().get("date");
}
public Map<String, Object> getMap() {
return map;
}
public void setMap(Map<String, Object> map) {
this.map = map;
}
}
你可以根据特定属性排序。
List<MapBean > list
Collections.sort(list, new MapBean());排序
------解决方案--------------------
Collections.sort(list,new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
return ((Long)o1.get("time")).compareTo((Long)o2.get("time"));
}
});