首页> 文章> 详情

Java 8 字符串日期排序

教程分享 > Java教程 (36421) 2024-04-17 12:33:24
首先定义一个包含字符串日期的数据对象
java 8
public class ObjectDto implements Serializable {
    private static final long serialVersionUID = 8589835559483231840L;
    private String date;
  //get set..
}
接下来初始化一些数据,并进行排序

​​​​​​​

public static void main(String[] args){
     List<ObjectDto> list = new ArrayList()<>;
     ObjectDto on1 = new ObjectDto();
     on1.setDate("2018-05-17");

        ObjectDto on2 = new ObjectDto();
        on2.seDate("2018-05-16");

        ObjectDto on3 = new ObjectDto();
        on3.setDate("2018-05-18");

        ObjectDto on4 = new ObjectDto();
        on4.setDate("2018-05-15");
    
    list.add(on1);
    list.add(on2);
    list.add(on3);
    list.add(on4);

  //升序
  List<ObjectDto> collect = list.stream().sorted(new Comparator<ObjectDto>() {
      @Override
      public int compare(ObjectDto o1, ObjectDto o2) {
          try {
              Date d1 = DateUtil.parseTime(o1.getDate(), "yyyy-MM-dd");
              Date d2 = DateUtil.parseTime(o2.getDate(), "yyyy-MM-dd");
  
              return d1.compareTo(d2);
          } catch (ParseException e) {
              e.printStackTrace();
          }
          return 0;
      }
  }).collect(Collectors.toList());
}

核心点在于Java 8的stream,以及内部的字符串日期转换为Date日期进行比较。
https://www.leftso.com/article/762.html

相关文章
首先定义一个包含字符串日期的数据对象​public class ObjectDto implements Serializable { private static final long...
fastJSON字符串类型数据中的日期转换为Java bean的日期对象
在MySQL或者各种数据库中,都很大可能使用到日期类型。在Java代码中进行日期转换还是比较容易的。但是大多数时候日期的参数都是字符串。而且在工具中使用字符串的方式来表达时间比较方便。这里记录下...
如今,很多应用程序仍然使用API java.util.Date和java.util.CalendarAPI,包括库来使我们的生活更轻松地处理这些类型,例如JodaTime。然而,Java 8引入...
Java EE 8 JSON Pointer讲解,Java EE 8包含JSON处理API的更新,并为最新的JSON标准提供最新的IEFT标准。
java stream 按月(日期Date)分组统计首先是上一个简单的数据模型@Data @NoArgsConstructor @AllArgsConstructor public class ...
java json字符串转对象_json转换为java对象_ json字符串转对象数组
java8 Function 应用场景 --代码重构旧代码: import org.springframework.beans.BeanUtils; import java.util.func...
Java 8使用多个comparators进行集合分组排序
       ​Spring Boot       这里主要对Spring Boot 项目和Spring MVC 相关项目中,日期参数的使用以及Ajax请求日期数据返回格式的处理
java8 Function函数编程详解Function函数基础定义和使用 public static void t1(){ Function&lt;Integer,Int...
简介本博文主要讲解在Java 8中 如何通过stream流的方式去重
备受期待的Java Enterprise Edition 8发布了两个令人兴奋的新API(JSON-Binding 1.0和Java EE Security 1.0)并改进了当前的API(JAX...
JDK8 从某年某月开始变成个人免费,商用收费了,以至于网上经常搜索到最后一个免费版是jdk那个版本。下面通过Oracle 官方文档来看最后的免费午餐版本是 J
java 8 stream 多字段排序,本例子主要使用stream进行多个字段的排序,使用了 comparators和Comparator.thenComparing()方法。比较器之间返回一个...