List集合取最大时间

代码如下,使用Collections的max方法

import cn.hutool.core.date.DateUtil;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;

/**
 * @author :Phil Tse
 * @date :Created in 2021/5/10 17:17
 * @description:测试类
 * @modified By:
 * @version: $
 */
public class Test {
    public static void main(String[] args) {

        List<Date> list = new ArrayList<>();
        list.add(DateUtil.parse("2021-05-11 00:00:00"));
        list.add(DateUtil.parse("2021-05-12 00:00:00"));
        list.add(DateUtil.parse("2021-05-13 00:00:00"));
        list.add(DateUtil.parse("2021-05-14 00:00:00"));
        list.add(DateUtil.parse("2021-05-15 00:00:00"));
        list.add(DateUtil.parse("2021-05-16 00:00:00"));
        TestBean testBean = new TestBean();
        testBean.setTime(list);

        test2(testBean);
    }

    public static void test2(TestBean testBean){
        System.out.println(Collections.max(testBean.getTime()));
    }
}

输出结果如下:


image.png
stream流:
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author :Phil Tse
 * @date :Created in 2021/5/10 17:17
 * @description:
 * @modified By:
 * @version: $
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TestBean {
//    private Date time;
    private List<TestBeanList> testBeanLists;
}
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * @author :Phil Tse
 * @date :Created in 2021/5/28 11:43
 * @description:
 * @modified By:
 * @version: $
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TestBeanList {
    private Date time;
}
import cn.hutool.core.date.DateUtil;

import java.util.*;

/**
 * @author :Phil Tse
 * @date :Created in 2021/5/10 17:17
 * @description:测试类
 * @modified By:
 * @version: $
 */
public class Test {
    public static void main(String[] args) {

//        List<Date> list = new ArrayList<>();
//        list.add(DateUtil.parse("2021-05-11 00:00:00"));
//        list.add(DateUtil.parse("2021-05-12 00:00:00"));
//        list.add(DateUtil.parse("2021-05-13 00:00:00"));
//        list.add(DateUtil.parse("2021-05-14 00:00:00"));
//        list.add(DateUtil.parse("2021-05-15 00:00:00"));
//        list.add(DateUtil.parse("2021-05-16 00:00:00"));

        List<TestBeanList> testBeans = new ArrayList<>();
        TestBean testBean = new TestBean();
        testBeans.add(new TestBeanList(DateUtil.parse("2021-05-11 00:00:00")));
        testBeans.add( new TestBeanList(DateUtil.parse("2021-05-12 00:00:00")));
        testBeans.add(new TestBeanList(DateUtil.parse("2021-05-13 00:00:00")));
        testBeans.add( new TestBeanList(DateUtil.parse("2021-05-16 00:00:00")));
        testBean.setTestBeanLists(testBeans);
        test2(testBean);
    }

    public static void test2(TestBean testBeans){
        //Collections.max排序
        Optional<Date> date = //testBeans.getTestBeanLists().stream().sorted(Comparator.comparing(TestBeanList::getTime).reversed()).findFirst().map(TestBeanList::getTime);
        //优化
        Optional<Date> date = testBeans.getTestBeanLists().stream().max(Comparator.comparing(TestBeanList::getTime)).map(TestBeanList::getTime);
        System.out.println(date.get());
    }

}

输出结果:


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文采用实例驱动的方式,对JAVA8的stream API进行一个深入的介绍。虽然JAVA8中的stream AP...
    浮梁翁阅读 25,892评论 3 50
  • 什么是 Stream? 现在很多大数据量系统中都存在分表分库的情况。例如,电商系统中的订单表,常常使用用户 ID ...
    柳岸花开阅读 285评论 0 0
  • 上一篇文章大致讲解了下Java基础--集合,这次对于上一篇的一个衍生,讲解下最新Java8中对于集合的一个优化及使...
    出门变浪人阅读 926评论 2 1
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 126,159评论 2 7
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,120评论 0 4