java - list<Map<String, Object>> 排序
漂亮男人
漂亮男人 2017-05-27 17:41:08
0
2
695
 利用
List<java.util.Map<String,Object>> charData = (List<java.util.Map<String, Object>>) map.get("data");

得到的chartData 為

[{TIME21=0, TIME22=2, TIME23=0, TIME12=0, TIME13=1, TIME10=0, TIME20=0, TIME11=1, TIME17=0, TIME9=2, TIME16=0, TIME15=0, TIME14=1, TIME5=0, TIME6=0, TIME19=0, TIME7=0, TIME18=1, TIME8=4, TIME1=0, TIME2=0, TIME3=0, TIME4=0, TIME0=0}]

現在要對她進行排序,使其的順序為TIME1,TIME2.....這樣的順序 ,該怎麼排序呢?

漂亮男人
漂亮男人

全部回覆(2)
为情所困

看問題應該是將Map裡面的key排序,可以使用Treemap,因為看key的結構是string+int,依照int排序,所以可能需要自己寫比較器。
大致的程式碼,比較器寫的比較簡單,就是拆了一下,可能需要根據你的實際狀況調整

TreeMap<String,Object> treemap = new TreeMap<String,Object>(
    new Comparator<String>() {
         @Override
         public int compare(String o1, String o2) {
             Integer i1 = Integer.parseInt(o1.substring(4));
             Integer i2 = Integer.parseInt(o2.substring(4));
             return i1.compareTo(i2);
         }
    }
);
treemap.put("TIME21",0);
treemap.put("TIME11",0);
treemap.put("TIME1",0);
treemap.put("TIME2",0);
Ty80

如非必须要使用Map,建议使用对象代替Map

雷雷
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!