如何使用 Java 对 List 中每个对象元素按时间顺序进行排序

Java 实现

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List; public class TestListSort {
private static class UserBean {
private String id;
private String birthday; public String getId() {
return id;
} void setId(String id) {
this.id = id;
} String getBirthday() {
return birthday;
} void setBirthday(String birthday) {
this.birthday = birthday;
} // 重写 toString() 方法
public String toString() {
return "id:" + id + ", birthday:" + birthday;
}
} public static void main(String[] args) {
List<UserBean> list = new ArrayList<>();
UserListGenerate(list);
System.out.println("排序前:" + list);
ListSort(list);
System.out.println("排序后:" + list);
} private static void UserListGenerate(List<UserBean> list) {
UserBean user1 = new UserBean();
UserBean user2 = new UserBean();
UserBean user3 = new UserBean();
user1.setId("zhagnsan");
user1.setBirthday("1980-11-01"); user2.setId("lisi");
user2.setBirthday("1981-12-01"); user3.setId("wangwu");
user3.setBirthday("1980-12-01"); list.add(user1);
list.add(user2);
list.add(user3);
} private static void ListSort(List<UserBean> list) {
list.sort((o1, o2) -> {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
try {
Date dt1 = format.parse(o1.getBirthday());
Date dt2 = format.parse(o2.getBirthday());
return Long.compare(dt1.getTime(), dt2.getTime());
} catch (Exception e) {
e.printStackTrace();
}
return 0;
});
}
}

运行结果

排序前:[id:zhagnsan, birthday:1980-11-01, id:lisi, birthday:1981-12-01, id:wangwu, birthday:1980-12-01]
排序后:[id:zhagnsan, birthday:1980-11-01, id:wangwu, birthday:1980-12-01, id:lisi, birthday:1981-12-01]

参考资料

如何使用 Java 对 List 中每个对象元素按时间顺序进行排序的更多相关文章

  1. 对List中每个对象元素按时间顺序排序

    需求: 需要对List中的每个User按照birthday顺序排序,时间由小到大排列. 代码实现: import java.text.SimpleDateFormat; import java.uti ...

  2. coding++:对List中每个对象元素按时间顺序排序

    需求: 需要对List中的每个User按照birthday顺序排序,时间由小到大排列. package com.tree.ztree_demo.orderby; import java.text.Si ...

  3. 【java】之对List中每个对象元素按时间顺序排序

    import java.text.SimpleDateFormat; import java.util.*; public class ListSort { public static class U ...

  4. Java如何从数组中查找对象元素?

    在Java中,如何从数组中查找对象元素? 示例 以下示例使用Contains方法来搜索数组中的String对象. package com.yiibai; import java.util.*; pub ...

  5. [转]java去除List中重复的元素

    java去除List中重复的元素 如果用Set ,倘若list里边的元素不是基本数据类型而是对象, 那么请覆写Object的boolean   equals(Object   obj)   和int  ...

  6. Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析

    目录 0.前言 1.TemporalAccessor源码 2.Temporal源码 3.TemporalAdjuster源码 4.ChronoLocalDate源码 5.LocalDate源码 6.总 ...

  7. 如何使用 Java 删除 ArrayList 中的重复元素

    如何使用 Java 删除 ArrayList 中的重复元素 (How to Remove Duplicates from ArrayList in Java) Given an ArrayList w ...

  8. Java删除ArrayList中的重复元素

    Java删除ArrayList中的重复元素的2种方法 ArrayList是Java中最常用的集合类型之一.它允许灵活添加多个null元素,重复的元素,并保持元素的插入顺序.在编码时我们经常会遇到那种必 ...

  9. Java日期时间API系列13-----Jdk8中java.time包中的新的日期时间API类,时间类转换,Date转LocalDateTime,LocalDateTime转Date等

    从前面的系列博客中可以看出Jdk8中java.time包中的新的日期时间API类设计的很好,但Date由于使用仍非常广泛,这就涉及到Date转LocalDateTime,LocalDateTime转D ...

随机推荐

  1. POJ 3254 状态压缩 DP

    B - Corn Fields Crawling in process... Crawling failed Time Limit:2000MS     Memory Limit:65536KB    ...

  2. Qt -------- 多线程编程

    一.继承QThread(不推荐) 定义一个类,继承QThread,重写run(),当调用方法start(),启动一个线程,run()函数运行结束,线程结束. 二.继承QRunnable Qrunnab ...

  3. scrapy架构设计分析

    scrapy是一个Python爬虫框架.我们自己用requests也能写爬虫(GET某个URL,然后Parse网页的内容),那么,问题来了,scrapy高明在哪些地方呢?下面就来讨论下这个话题,看看业 ...

  4. C#泛型实例详解

    本文以实例形式讲述了C#泛型的用法,有助于读者深入理解C#泛型的原理,具体分析如下: 首先需要明白什么时候使用泛型: 当针对不同的数据类型,采用相似的逻辑算法,为了避免重复,可以考虑使用泛型. 一.针 ...

  5. 「模板」网络最大流 FF && EK && Dinic && SAP && ISAP

    话不多说上代码. Ford-Fulkerson(FF) #include <algorithm> #include <climits> #include <cstdio& ...

  6. JNLP Slave connection error解决办法

    Replace in jnlp-file  <argument>-workDir</argument>  <argument /> with  <argume ...

  7. 记一次Node项目的优化

    这两天针对一个Node项目进行了一波代码层面的优化,从响应时间上看,是一次很显著的提升.一个纯粹给客户端提供接口的服务,没有涉及到页面渲染相关. 背景 首先这个项目是一个几年前的项目了,期间一直在新增 ...

  8. 用例图(Use Case Diagram)

    用例图(Use Case Diagram) 执行者/参与者(Actor): 表示与您的应用程序或系统进行交互的用户.组织或外部系统.用一个小人表示. 用例(Use Case): 即系统具有的功能,在用 ...

  9. 【转】gif文件格式详解

    1.概述 ~~~~~~~~ GIF(Graphics Interchange Format,图形交换格式)文件是由 CompuServe公司开发的图形文件格式,版权所有,任何商业目的使用均须 Comp ...

  10. Java多态的实现原理

    1.多态的定义:指允许不同类的对象,对同一消息作出响应: 即同一消息可以根据发送对象的不同采用多种不同的行为方式: 2.多态的实现技术:动态绑定: 指在执行期间判断所引用对象的实际类型,根据其实际的类 ...