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

import com.fengshun.patient.entity.PatMasterIndex;
import org.apache.poi.ss.usermodel.DateUtil;
import org.junit.Test;

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

import java.text.SimpleDateFormat;
import java.util.*;

public class PatMasterIndexUtil {
public static class UserBean {
private String id;
private Date birthday;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public Date getBirthday() {
return birthday;
}

public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}

public static void main(String[] args) {
List<UserBean> list = new ArrayList<UserBean>();
UserListGenerate(list);
System.out.println("********排序前*******");
for (UserBean user : list) {
System.out.println(user.getBirthday());
}
ListSort(list);
System.out.println("******排序后*****");
for (UserBean user : list) {
System.out.println(user.getBirthday());
}
}
private static void UserListGenerate(List<UserBean> list) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
try {
Date dt1 = format.parse("1980-11-01");
Date dt2 = format.parse("1981-12-01");
UserBean user1 = new UserBean();
UserBean user2 = new UserBean();
UserBean user3 = new UserBean();
user1.setId("zhagnsan");
user1.setBirthday(dt1);
user2.setId("lisi");
user2.setBirthday(dt2);
user3.setId("wangwu");
list.add(user1);
list.add(user2);
list.add(user3);
}catch (Exception e) {
e.printStackTrace();
}




}

private static void ListSort(List<UserBean> list) {
Collections.sort(list, new Comparator<UserBean>() {
@Override
public int compare(UserBean o1, UserBean o2) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
try {
Date dt1 = o1.getBirthday();
Date dt2 = o2.getBirthday();
if (dt1.getTime() > dt2.getTime()) {
return -1;
} else if (dt1.getTime() < dt2.getTime()) {
return 1;
} else {
return 0;
}
} catch (Exception e) {
return 1;
}

}
});
}
}
posted @   紫枫夜羽  阅读(2773)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示