首页 新闻 搜索 专区 学院

List<Map> list 排序问题

0
悬赏园豆:20 [已解决问题] 解决于 2015-06-02 17:06

List<Map>  list  ;

list 数据格式如下:

[{
stype=source_from,
pkey=100,
pname=CSDN,
codea=,
codeb=,
codec=,
coded=,
codee=,
dflag=,
sortby=2,
vflag=add,
comments=来源,
source_from=SS},
{stype=source_from,
pkey=101,
pname=百度文库,
codea=,
codeb=,
codec=,
coded=,
codee=,
dflag=,
sortby=0,
vflag=add,
comments=来源,
source_from=SS},
{stype=source_from,
pkey=10007,
pname=360文库,
codea=,
codeb=,
codec=,
coded=,
codee=,
dflag=,
sortby=0,
vflag=add,
comments=来源,
source_from=SS}]

 

目标根据map的pkey排序List里面的Map.

我想这样写:

Collections.sort(order_from_list, new Comparator<Map<Object, Object>>() {
public int compare(Map<Object, Object> o1, Map<Object, Object> o2) {
int map1value = (Integer) o1.get("pkey");
int map2value = (Integer) o2.get("pkey");
return map1value - map2value;
}
});

但是报sort有错:The method sort(List<T>, Comparator<? super T>) in the type Collections is not applicable for the arguments (List<Map>, new Comparator<Map<Object,Object>>(){})

这个参数类型不对,怎么改这东西谢谢大神指导!

xmj0207的主页 xmj0207 | 初学一级 | 园豆:188
提问于:2015-06-01 17:14
< >
分享
最佳答案
0

你是用的java?

幻天芒 | 高人七级 |园豆:36594 | 2015-06-01 19:17
其他回答(1)
0

你需要linq,

直接用orderby,不用实现对比接口

收获园豆:20
吴瑞祥 | 园豆:28830 (高人七级) | 2015-06-01 17:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册