如何对List 进行排序

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;             }         });     }           }java

相关文章
相关标签/搜索