利用jdk1.8的新特性
1.查询出所有的集合
2.根据时间分组
//根据时间分组 Map<String, List<FindListDTO>> data = findDTOList.stream().collect(Collectors.groupingBy(FindListDTO::getStrTime, Collectors.toList()));
3.根据分组后集合的时间倒叙排序
List<Map.Entry<String,List<FindListDTO>>> list = new ArrayList<Map.Entry<String,List<FindListDTO>>>(data.entrySet()); Collections.sort(list,new Comparator<Map.Entry<String,List<FindListDTO>>>() { @Override public int compare(Entry<String, List<FindListDTO>> o1, Entry<String, List<FindListDTO>> o2) { Long key1 = DateUtil.convert(o1.getKey()).getTime(); Long key2 = DateUtil.convert(o2.getKey()).getTime(); return key2.compareTo(key1); } });