如何对List<Map> 进行排序

package com.zbiti.plugins.multidimension;   import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map;   public class MdPluginsManager {     /**      * 多维插件入口      *       * @param      * @return      * @author Andsion      */     public List process(List data, String arg, String xField,             List yFields) {         List returnList = new ArrayList(); // 调用该方法返回的List         List dsList = new ArrayList(); // 用于保存非集团本部的List         // 1.判断List中是否有本部,如果有则将其加入到本部list中         for (int i = 0; i < data.size(); i++) {> 0) {                 // 如果存在集团本部数据、即将其先加入返回的List中,达到数据在上的效果。                 returnList.add(data.get(i));             } else {                 // 非集团本部的数据保存在地市的list中,后面做排序使用                 dsList.add(data.get(i));             }         }         /* 地市list排序前输出          * for (int i = 0; i < dsList.size(); i++) {          * System.out.println("地市List排序前---" +          * dsList.get(i).get("REGION_OUT").toString() + "-----" +          * dsList.get(i).get("USERCOUNTS").toString()); }          */         // 地市list按USERCOUNTS降序排列         Collections.sort(dsList, new Comparator() {             public int compare(Map o1, Map o2) {                 return (Integer) o1.get("USERCOUNTS") > (Integer) o2                         .get("USERCOUNTS") ? ((Integer) o1.get("USERCOUNTS") == (Integer) o2                         .get("USERCOUNTS") ? 0 : -1) : 1;             }         });           /* 地市list排序后输出          * for (int i = 0; i < dsList.size(); i++) {          * System.out.println("ds排序后---" +          * dsList.get(i).get("REGION_OUT").toString() + "-----" +          * dsList.get(i).get("USERCOUNTS").toString()); }          */           // 地市list排序完成后,再加入到返回的list中         returnList.addAll(dsList);         return returnList;     }       public void sort(List> list) {         Collections.sort(list, new Comparator>() {             public int compare(Map o1, Map o2) {                 return (Integer) o1.get("USERCOUNTS") > (Integer) o2                         .get("USERCOUNTS") ? ((Integer) o1.get("USERCOUNTS") == (Integer) o2                         .get("USERCOUNTS") ? 0 : -1) : 1;             }         });     }           }

转载于:https://my.oschina.net/u/2491968/blog/521969

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值