如何對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

相關文章
相關標籤/搜索