如何使用 Java 对 List 中每个对象元素按时间顺序进行排序
如何使用 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 中每个对象元素按时间顺序进行排序的更多相关文章
- 对List中每个对象元素按时间顺序排序
需求: 需要对List中的每个User按照birthday顺序排序,时间由小到大排列. 代码实现: import java.text.SimpleDateFormat; import java.uti ...
- coding++:对List中每个对象元素按时间顺序排序
需求: 需要对List中的每个User按照birthday顺序排序,时间由小到大排列. package com.tree.ztree_demo.orderby; import java.text.Si ...
- 【java】之对List中每个对象元素按时间顺序排序
import java.text.SimpleDateFormat; import java.util.*; public class ListSort { public static class U ...
- Java如何从数组中查找对象元素?
在Java中,如何从数组中查找对象元素? 示例 以下示例使用Contains方法来搜索数组中的String对象. package com.yiibai; import java.util.*; pub ...
- [转]java去除List中重复的元素
java去除List中重复的元素 如果用Set ,倘若list里边的元素不是基本数据类型而是对象, 那么请覆写Object的boolean equals(Object obj) 和int ...
- Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析
目录 0.前言 1.TemporalAccessor源码 2.Temporal源码 3.TemporalAdjuster源码 4.ChronoLocalDate源码 5.LocalDate源码 6.总 ...
- 如何使用 Java 删除 ArrayList 中的重复元素
如何使用 Java 删除 ArrayList 中的重复元素 (How to Remove Duplicates from ArrayList in Java) Given an ArrayList w ...
- Java删除ArrayList中的重复元素
Java删除ArrayList中的重复元素的2种方法 ArrayList是Java中最常用的集合类型之一.它允许灵活添加多个null元素,重复的元素,并保持元素的插入顺序.在编码时我们经常会遇到那种必 ...
- Java日期时间API系列13-----Jdk8中java.time包中的新的日期时间API类,时间类转换,Date转LocalDateTime,LocalDateTime转Date等
从前面的系列博客中可以看出Jdk8中java.time包中的新的日期时间API类设计的很好,但Date由于使用仍非常广泛,这就涉及到Date转LocalDateTime,LocalDateTime转D ...
随机推荐
- POJ 2289 最大流
Jamie's Contact Groups Time Limit: 7000MS Memory Limit: 65536K Total Submissions: 7624 Accepted: ...
- 南阳ACM 题目8:一种排序 Java版
一种排序 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复:还知道这个长方形的宽和长,编号.长.宽都是整数:现 ...
- ZooKeeper观察者(十三)
观察者:扩展ZooKeeper而不影响写性能 尽管ZK运行地很好通过客户端直接连接来投票集群的成员,这个结构使它很难扩展出很多客户端.问题是当我们加入更多的投票成员时,写性能就会下降.这是因为一个写操 ...
- 洛谷金秋夏令营模拟赛 第2场 T11737 时之终末
这道题就是道状压dp...比赛的时候太贪心 然后状压又不好 所以T2 T3一起挂了QAQ 吸取教训QAQ f[i][j][k]表示前i个数选了j个 最后a个的状态为k的答案 #include<c ...
- 【BZOJ】1229 [USACO2008 Nov]toy 玩具
[算法]三分+贪心 [题解] 数据范围小的版本:餐巾计划 这题不是使用最小费用流的下凸函数,因为这题是要满足最大流,那么这题到底在三分什么? 三分的这个函数,其实是总费用随卖出玩具量变化而变化的函数, ...
- JS之window对象
window对象 window属性: opener:打开当前窗口的源窗口,如果这个窗口是由别的网页点击链接跳转过来的,或者是从另外一个页面点击打开窗口打开的,opener就是找到源页面的.如果当前窗口 ...
- springboot:Spring boot中mongodb的使用(山东数漫江湖)
mongodb是最早热门非关系数据库的之一,使用也比较普遍,一般会用做离线数据分析来使用,放到内网的居多.由于很多公司使用了云服务,服务器默认都开放了外网地址,导致前一阵子大批 MongoDB 因配置 ...
- hdu 1217 Arbitrage (spfa算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1217 题目大意:通过货币的转换,来判断是否获利,如果获利则输出Yes,否则输出No. 这里介绍一个ST ...
- 通过JDBC连接HiveServer2
如果通过JDBC连接HiveServer2时提示:User: hive is not allowed to impersonate hive,需要在core-site.xml中新增如下配置: hado ...
- 数组返回NULL绕过
BUGKU:http://120.24.86.145:9009/19.php 还没看完源码,我就直接加了一个password[]=1结果就拿到flag了.然后再看源码我自己都搞不懂为什么可以得到源码. ...