list排序两种方式(1)List工具类(2)stream方式
java8方式:list.Stream.sorted(Comparator.comparing(NameValueDto::getName).reversed()) // 逆序排序。
java方式:list.sorted(Comparator.comparing(NameValueDto::getName).reversed())
是不感觉很帅?
而且我发现了一个bug,排序和分组一起用时是没效果的。
代码如下:
Map<String, List> dealwith = todos.stream()
.filter(nameValueDto -> StringUtils.isNotEmpty(nameValueDto.getName())
&&DateUtil.getDates(nameValueDto.getName()).after(finalStart)
&&DateUtil.getDates(nameValueDto.getName()).before(finalEnd))
.sorted(Comparator.comparing(NameValueDto::getName)) // 根据日期数排序
.map(nameValueDto -> { // 处理日期精确位数格式
NameValueDto temporary = new NameValueDto();
String name;
switch(dateType){
case “day”:
name = nameValueDto.getName().substring(0, 13);
temporary.setName(name);<