java 排序的問題
問題描述
[{TIME21=0, TIME22=2, TIME23=0, TIME12=0, TIME13=1, LOAN_AMT=500, TIME10=0, TIME20=0, TIME11=1, TIME17=0, TIME9=2, TIME16=0, TIME15=0, TIME14=1, TIME5=0, REG_DT=20170517, TIME6=0, TIME19=0, TIME7=0, TIME18=1, TIME8=4, TIME1=0, TIME2=0, TIME3=0, TIME4=0, TIME0=0}, {TIME21=3, TIME22=2, TIME23=3, TIME12=6, TIME13=7, LOAN_AMT=1000, TIME10=8, TIME20=2, TIME11=6, TIME17=6, TIME9=7, TIME16=2, TIME15=7, TIME14=5, TIME5=0, REG_DT=20170517, TIME6=1, TIME19=1, TIME7=3, TIME18=1, TIME8=5, TIME1=0, TIME2=1, TIME3=0, TIME4=0, TIME0=3}]
這是一個形式為List<Map<String,Object>> 格式的list,里面是map,我想經過排序后讓其按照TIME0,TIME1,TIME2.....TIME23的形式排序,該怎么排序呢?而且類似 TIME1 這種的類型是BigDecimal。里面的LOAN_AMT和REG_DT不用管,我只是用循環得到TIMExx這些信息
問題解答
回答1:其實,你只需要把List<Map<String,Object>>改成List<TreeMap<String,Object>>就可以了.....TreeMap是按照Kay進行排序的。
TreeMap<String,Object> map = new TreeMap<>();map.put('TIME0','TIME0');map.put('TIME22','TIME22');map.put('TIME15','TIME15');map.put('TIME11','TIME11');map.put('TIME19','TIME19');map.put('TIME1','TIME1');System.out.println(map); // {TIME0=TIME0, TIME1=TIME1, TIME11=TIME11, TIME15=TIME15, TIME19=TIME19, TIME22=TIME22}
相關文章:
1. docker安裝后出現Cannot connect to the Docker daemon.2. 關于docker下的nginx壓力測試3. angular.js - angular內容過長展開收起效果4. docker-machine添加一個已有的docker主機問題5. docker容器呢SSH為什么連不通呢?6. javascript - 關于圣杯布局的一點疑惑7. docker start -a dockername 老是卡住,什么情況?8. javascript - 請問 chrome 為什么會重復加載圖片資源?9. java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統有創建日志文件,不寫入日志信息。10. docker - 如何修改運行中容器的配置
