將sql查詢出來的資料用時間分組(以天為單位)
阿新 • • 發佈:2019-01-29
list記憶體有數條包含time的資料,建立一個map用來裝載相同時間的資料,map的key為時間
Map<String,List<Map<String,Object>>> map = new HashMap<>();
for(Map<String,Object> map1 : list){
if(!map.containsKey(map1.get("time"))){
List<Map<String,Object>> values = new ArrayList<>();
values.add(map1);
map.put(map1.get("time"),values);
}else{
map.get(map1.get("time")).add(map1)
}
}
以上已經將同一時間的資料分組,接下來對分組的資料進行封裝,返回正確的資料格式。
listime是通過sql生成的一組時間(需傳開始時間和結束時間);
for(int i=0;i<listime.size();i++){
if(map.containskey(listime.get(i).get("time").toString()))
listime.get(i).put("fenzu",map.get(listime.get(i).get("time").toString() ));
}