67,549
社区成员




Map<String, List<???>> collect = list.stream()
.collect(Collectors.groupingBy(item -> DateUtil.formatDate(item.Date())));
DateUtil是hutool中的工具类 实际情况可以自己写 Map<String, List<Map<String, Object>>> groupedMap = new HashMap<>();
FastDateFormat dateFormat = FastDateFormat.getInstance("yyyy-MM-dd HH");
for (Map<String, Object> element : list) {
Date time;
if (element != null && (time = (Date)element.get("time")) != null) {
String formatTime = dateFormat.format(time);
if (groupedMap.containsKey(formatTime)) {
groupedMap.get(formatTime).add(element);
} else {
List<Map<String, Object>> newList = new ArrayList<>();
newList.add(element);
groupedMap.put(formatTime, newList);
}
}
}
System.out.println(JSON.toJSONString(groupedMap));
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import org.apache.commons.lang.StringUtils;
public class Test {
public static void main(String[] args) {
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map = new HashMap<>();
map.put("time", "2020-07-07 08:48:55.000");
Map<String, Object> map1 = new HashMap<>();
map1.put("time", "2020-07-07 08:50:55.000");
Map<String, Object> map2 = new HashMap<>();
map2.put("time", "2020-07-07 09:50:55.000");
Map<String, Object> map3 = new HashMap<>();
map3.put("time", "2020-07-07 10:50:55.000");
list.add(map);
list.add(map1);
list.add(map2);
list.add(map3);
Map<String, List<Map<String, Object>>> groupedMap = new HashMap<>();
for (Map<String, Object> element : list) {
String time;
if (element != null && !StringUtils.isEmpty(time = (String)element.get("time"))) {
time = time.substring(0, 14);
if (groupedMap.containsKey(time)) {
groupedMap.get(time).add(element);
} else {
List<Map<String, Object>> newList = new ArrayList<>();
newList.add(element);
groupedMap.put(time, newList);
}
}
}
System.out.println(JSON.toJSONString(groupedMap));
}
}