Java 将list集合数据按照时间字段排序
创始人
2024-05-31 03:21:45
0

示例:

    public  static List getProductTestList(){List 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 getProductTestList(){List 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 productTestList = getProductTestList();productTestList.sort(Comparator.comparing(Product::getCreateDate));System.out.println(productTestList);}

效果:

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

方案②:
 

使用 Collections的sort 

Collections.sort(productTestList, new Comparator() {}

 代码示例:

    public static void main(String[] args) {List productTestList = getProductTestList();Collections.sort(productTestList, new Comparator() {@Overridepublic 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);}

效果:

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


效果: 

 

方案③:
 

使用stream的sorted

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

代码示例:
 

    public  static List getProductTestList(){List 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 productTestList2 = getProductTestList();List sortList = productTestList2.stream().sorted(Comparator.comparing(Product::getCreateDate)).collect(Collectors.toList());System.out.println(sortList);}

效果:
 

如果需要倒序则:

在compring()后面加上 reversed()

 

 

相关内容

热门资讯

初一的女孩_(精选6篇) 初一的女孩_ 篇一初一的女孩初一的女孩,正值少女青春期的开始,充满了好奇心和朝气。在这个阶段,她们开...
初中生科幻作文:机器猫(最新... 初中生科幻作文:机器猫 篇一机器猫我叫小明,是一个普通的初中生。有一天,我意外地发现了一只神奇的机器...
初一军训作文(推荐3篇) 初一军训作文 篇一初一军训是每个初中生的必修课程,也是我们适应新环境、锻炼意志的一次重要机会。我国历...
寒梅墨香初中作文500字(精... 寒梅墨香初中作文500字 篇一:寒梅墨香寒梅墨香,这是我最喜欢的一句诗句。每当我看到这句诗时,心中就...
仰望星空,脚踏实地作文650... 仰望星空,脚踏实地作文650字 篇一仰望星空,脚踏实地星空,是人类永远的向往和追求。每当夜幕降临,我...
我的忏悔初中作文【精简5篇】 我的忏悔初中作文 篇一我曾经做出了一件让我深感愧疚的事情,我想在这里向大家忏悔并寻求原谅。那是一个晴...
生活中的语言_初中记叙文【经... 生活中的语言_初中记叙文 篇一我和爸爸妈妈一样,是普通的工薪阶层,生活虽然平凡,但却充满了各种语言的...
初一我的奋斗目标作文500字... 初一我的奋斗目标作文500字 第一篇俗话说:“你脸上云淡风轻,谁也不知道你呼吸得有多紧;你走路带风,...
谢谢你让我遇见你作文(精彩5... 谢谢你让我遇见你作文 篇一遇见你,是我这一生最美好的偶遇。谢谢你,让我在茫茫人海中找到了属于我的那份...
那道靓丽的风景线作文700字... 那道靓丽的风景线作文700字 篇一那道靓丽的风景线在我家附近有一道靓丽的风景线,它是一条蜿蜒曲折的小...
烟花泪的作文【通用5篇】 烟花泪的作文 篇一烟花泪,是我对烟花的一种特殊感受。每当夜幕降临,烟花绽放的瞬间,我总能感受到一种深...
红色精神的作文600字【最新... 红色精神的作文600字 篇一:传承红色精神,弘扬革命精神红色精神是我们中华民族宝贵的精神财富,它是中...
我终于七年级作文通用8篇 我终于七年级作文 第一篇我默默地坐在床上,眼泪不争气地从眼眶里骨碌骨碌滚了出来。我抽了一张纸巾,把眼...
我好想见你_初中记叙文(通用... 我好想见你_初中记叙文 篇一初中时光,是我们成长的岁月。那时候的我们,充满了青春的活力和对未来的期待...
初中说明文作文(优质6篇) 初中说明文作文 篇一绿色出行的意义与方法随着城市化进程的加快,汽车的数量不断增加,交通拥堵和空气污染...
初一生活句子精选375句 初一生活句子 精选120句1. 除了你的母亲和你爱的女人,不要多余的给任何女人面子,男女不是平等的么...
生命的长河初中作文(通用3篇... 生命的长河初中作文 篇一生命的长河初中作文生命是一条绵延不绝的长河,每个人都在这条长河中行走,流淌着...
什么是幸福的作文【精彩6篇】 什么是幸福的作文 篇一幸福是什么?这是一个让人们思考已久的问题。对于每个人来说,幸福的定义可能是不同...
初一的幸福作文600字(最新... 初一的幸福作文600字 篇一初一的幸福初一,对于每个学生来说都是一个特殊的年级。对我来说,初一是一个...
初一写景作文800字大全【通... 初一写景作文800字大全 篇一初一写景作文800字大全 篇一:春天的花海春天到了,大自然万物复苏,到...