对象集合根据时间属性进行排序

这篇博客介绍如何根据对象集合中时间属性(如生日)进行排序。以学生对象为例,通过调用DateUtils的after方法实现排序,详细展示了代码实现过程和执行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:有三个学生s1、s2 、s3,按照他们的生日顺序对这三个学生进行排序。

方法一:直接进行排序

代码如下:

@Test
	public void sortList(){
	  List<StudentVo> list = new ArrayList<StudentVo>();  
	  //创建3个学生对象,年龄分别是20、19、21,并将他们依次放入List中  
	  StudentVo s1 = new StudentVo();  
	  s1.setBrithTime(DateUtil.dateStr2Date("1997-11-12 15:21:00", DateUtil.PATTERN_DTSHORTLINE));  
	  StudentVo s2 = new StudentVo();  
	  s2.setBrithTime(DateUtil.dateStr2Date("1997-11-17 15:21:00", DateUtil.PATTERN_DTSHORTLINE)); 
	  StudentVo s3 = new StudentVo();  
	  s3.setBrithTime(DateUtil.dateStr2Date("1997-11-16 15:21:00", DateUtil.PATTERN_DTSHORTLINE)); 
	  list.add(s1);  
	  list.add(s2);  
	  list.add(s3);  
	  System.out.println("排序前:"+list);   
	  Collections.sort(list, new Comparator<StudentVo>(){  
	      public int compare(StudentVo o1, StudentVo o2) {   
	          //按照brithTime降序排列      after比较返回1:降序(从大到小),返回-1:升序(从小到大)
	          if(DateUtil.after(o1.getBrithTim
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值