文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java怎么将list集合数据按照时间字段排序

2023-07-05 12:03

关注

这篇文章主要介绍了Java怎么将list集合数据按照时间字段排序的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java怎么将list集合数据按照时间字段排序文章都会有所收获,下面我们一起来看看吧。

示例:

Java怎么将list集合数据按照时间字段排序

    public  static List<Product> getProductTestList(){        List<Product> productList=new ArrayList<>();        productList.add(new Product().setName("儿童护具").setCreateDate("2023-02-01"));        productList.add(new Product().setName("青年护具").setCreateDate("2023-01-01"));        productList.add(new Product().setName("老人护具").setCreateDate("2023-01-02"));        productList.add(new Product().setName("动物护具").setCreateDate("2023-02-02"));      return  productList;    }

要求:

按照创建时间 createDate 字段排序 

方案①: 

使用list的sort方法

.sort(Comparator.comparing(Product::getCreateDate));

代码示例:

    public  static List<Product> getProductTestList(){        List<Product> productList=new ArrayList<>();        productList.add(new Product().setName("儿童护具").setCreateDate("2023-02-01"));        productList.add(new Product().setName("青年护具").setCreateDate("2023-01-01"));        productList.add(new Product().setName("老人护具").setCreateDate("2023-01-02"));        productList.add(new Product().setName("动物护具").setCreateDate("2023-02-02"));      return  productList;    }     public static void main(String[] args) {        List<Product> productTestList = getProductTestList();        productTestList.sort(Comparator.comparing(Product::getCreateDate));        System.out.println(productTestList);    }

效果:

Java怎么将list集合数据按照时间字段排序

如果需要倒序,则加上 reversed 在 .comparing(Product::getCreateDate) .reversed()

方案②:

使用 Collections的sort 

Collections.sort(productTestList, new Comparator<Product>() {}

 代码示例:

    public static void main(String[] args) {        List<Product> productTestList = getProductTestList();         Collections.sort(productTestList, new Comparator<Product>() {            @Override            public int compare(Product o1, Product o2) {                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");                try {                    Date dt1 = format.parse(o1.getCreateDate());                    Date dt2 = format.parse(o2.getCreateDate());                    if (dt1.getTime() > dt2.getTime()) {                        return 1;                    } else {                        return -1;                    }                } catch (Exception e) {                    e.printStackTrace();                }                return 0;            }        });        System.out.println(productTestList);    }

效果:

Java怎么将list集合数据按照时间字段排序

如果需要把顺序反过来,则改变 1 和 -1 的返回值 :

Java怎么将list集合数据按照时间字段排序

效果: 

Java怎么将list集合数据按照时间字段排序

方案③:

使用stream的sorted

.stream().sorted(Comparator.comparing(Product::getCreateDate)

代码示例:

    public  static List<Product> getProductTestList(){        List<Product> productList=new ArrayList<>();        productList.add(new Product().setName("儿童护具").setCreateDate("2023-02-01"));        productList.add(new Product().setName("青年护具").setCreateDate("2023-01-01"));        productList.add(new Product().setName("老人护具").setCreateDate("2023-01-02"));        productList.add(new Product().setName("动物护具").setCreateDate("2023-02-02"));      return  productList;    }     public static void main(String[] args) {         List<Product> productTestList2 = getProductTestList();        List<Product> sortList = productTestList2.stream()                .sorted(Comparator.comparing(Product::getCreateDate))                .collect(Collectors.toList());        System.out.println(sortList);            }

效果:

Java怎么将list集合数据按照时间字段排序

如果需要倒序则:

在compring()后面加上 reversed()

Java怎么将list集合数据按照时间字段排序

关于“Java怎么将list集合数据按照时间字段排序”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Java怎么将list集合数据按照时间字段排序”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯