久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

java - list<Map<String, Object>> 排序

瀏覽:191日期:2023-11-17 09:54:03

問題描述

利用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}]

現(xiàn)在要對她進行排序,使其的順序為TIME1,TIME2.....這樣的順序 ,應(yīng)該怎么排序呢?

問題解答

回答1:

看問題應(yīng)該是對Map里面的key進行排序,可以使用Treemap,因為看key的結(jié)構(gòu)是string+int,根據(jù)int排序,所以可能需要自己寫個比較器。大致的代碼,比較器寫的比較簡單,就是拆了一下,可能需要根據(jù)你的實際情況調(diào)整

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);回答2:

如非必須要使用Map,建議使用對象代替Map

List<Map<String, Object>> list = new ArrayList<>();Map<String, Object> map1 = new HashMap<>();Map<String, Object> map2 = new HashMap<>();Map<String, Object> map3 = new HashMap<>();map1.put('TIME1', 1);map2.put('TIME13', 2);map3.put('TIME15', 3);list.add(map3);list.add(map2);list.add(map1);System.out.println(list);list.sort(new Comparator<Map<String, Object>>() { @Override public int compare(Map<String, Object> o1, Map<String, Object> o2) {String s1 = '';for (String s : o1.keySet()) { s1 = s;}String s2 = '';for (String s : o2.keySet()) { s2 = s;}//獲取TIME字符串后面的數(shù)字Integer i1 = Integer.parseInt(s1.substring(4));Integer i2 = Integer.parseInt(s2.substring(4));return i1.compareTo(i2); }});System.out.println('--------------');System.out.println(list);

標簽: java
主站蜘蛛池模板: 芒康县| 抚顺市| 德昌县| 平利县| 彰化市| 调兵山市| 若羌县| 招远市| 鲁山县| 邢台县| 张北县| 石屏县| 建始县| 股票| 咸阳市| 上饶市| 遵化市| 长葛市| 吉木萨尔县| 恩施市| 景谷| 会东县| 深水埗区| 桐庐县| 图木舒克市| 炎陵县| 天柱县| 松江区| 阜南县| 阳江市| 永平县| 奎屯市| 称多县| 四平市| 文安县| 嘉义市| 武威市| 灵宝市| 磐安县| 泽库县| 西青区|