因为MAP所有的子类都没有实现comparable和comparator接口,没有可用的,你可以把map封装成一个类之后实现排序接口。
解决方案 »
- HQL语句
- 请高手帮忙,小弟感激不尽,弄了很长时间都没弄出来,谢谢
- struts2 iterator标签的的一个问题
- 关于跟踪的问题。高手请看内容
- 最近小弟学习struts,用struts做了一个程序:显示数据时,格式有问题,请叫大侠
- 请问LINUX下Mysql的JDBC驱动该如何设置 ?
- 输入检测 select multiple="true"
- 上不去java.sun.com,哪里可以搞到jwsdp1.2 jsf.pdf
- 请教高手,急!
- jbuilder7中的clean、rebuild、make各在什么情况下运行?
- [菜鸟提问]关于servlet
- httpservlet中的service具体实现是什么?
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 > listCollections.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"));
}
});
我表达的太不专业了,就是时间属性
这个方法我是知道的,就如果我上面说的将List<Map<String,Object>>集合转换成一个List<Object>集合
再在对中实现排序的接口,
我中感觉这也挺麻烦的:
要循环List<Map<String,Object>>集合将里面的Map<String,Map>集合转换成一个对象再添加到List<Object>集合中去。
我表达的太不专业了,就是时间属性
这个方法我是知道的,就如果我上面说的将List<Map<String,Object>>集合转换成一个List<Object>集合
再在对中实现排序的接口,
我中感觉这也挺麻烦的:
要循环List<Map<String,Object>>集合将里面的Map<String,Map>集合转换成一个对象再添加到List<Object>集合中去。5楼的可以 ,他这个是用了一个匿名内部类, 写的排序器 。你可以用 不用转换了