对List集合中每个对象元素按时间顺序排序
首先创建一个实体类
package com.huawei.Test;import java.util.Date;/*** @author h84250472* @title: User$* @description: TODO* @date 2022/6/29 10:54*/
public class User {private String name;private String sex;private Integer age;private Date birthday;public User(String name, String sex, Integer age, Date birthday) {this.name = name;this.sex = sex;this.age = age;this.birthday = birthday;}public User() {}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", sex='" + sex + '\'' +", age=" + age +", birthday=" + birthday +'}';}
}
之后通过把实体类加入到list集合中,并按照生日时间进行排序,此处用了两种方法进行排序,分别是stream和Collections进行排序,代码如下:
package com.huawei.Test;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;/*** @author h84250472* @title: Test04$* @description: TODO* @date 2022/7/25 14:44*/
public class Test04 {public static void main(String[] args) throws ParseException {List<User> list = new ArrayList<>();long time1 = System.currentTimeMillis()+10000L;long time2 = System.currentTimeMillis()+20000L;long time3 = System.currentTimeMillis()+30000L;long time4 = System.currentTimeMillis()+40000L;//规定日期格式SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//将long类型的时间变成String类型String format1 = sd.format(time1);//将String类型的时间变成Date类型Date parse1 = sd.parse(format1);String format2 = sd.format(time2);Date parse2 = sd.parse(format2);String format3 = sd.format(time3);Date parse3 = sd.parse(format3);String format4 = sd.format(time4);Date parse4 = sd.parse(format4);User u1 = new User("zahngSan","nan",20,parse1);User u2 = new User("lisi","nan",30,parse2);User u3 = new User("wangwu","nan",26,parse3);User u4 = new User("xiaofang","nv",20,parse4);Collections.addAll(list,u1,u2,u3,u4);
// List<User> collect = list.stream().sorted(new Comparator<User>() {
// @Override
// public int compare(User o1, User o2) {
// Date date1 = o1.getBirthday();
// Date date2 = o2.getBirthday();
// return Long.compare(date2.getTime(), date1.getTime());
// }
// }).collect(Collectors.toList());//用stream进行排序List<User> collect = list.stream().sorted((User o1, User o2) -> {Date date1 = o1.getBirthday();Date date2 = o2.getBirthday();return Long.compare(date2.getTime(), date1.getTime());}).collect(Collectors.toList());for (User user : collect) {System.out.println(user);}//用集合进行排序Collections.sort(list, new Comparator<User>() {@Overridepublic int compare(User o1, User o2) {Date date1 = o1.getBirthday();Date date2 = o2.getBirthday();if (date1.getTime()>date2.getTime()){return 1;} else if (date1.getTime()<date2.getTime()){return -1;}else{return 0;}}});}
}
对List集合中每个对象元素按时间顺序排序相关推荐
- Java8——Stream流操作List排序_List集合中每个对象元素按时间顺序排序
一个学生类的实体类 @Data public class Student {private Long id;private String name;private int age;private Do ...
- 对List集合中的对象进行按某个属性排序
最近在实际的开发工作中,碰到排序的问题,如题,我们如何针对List集合中的某一个属性进行排序 import java.util.ArrayList; import java.util.Collecti ...
- 【Java面试题】54 去掉一个Vector集合中重复的元素
在Java中去掉一个 Vector 集合中重复的元素 1)通过Vector.contains()方法判断是否包含该元素,如果没有包含就添加到新的集合当中,适用于数据较小的情况下. import jav ...
- List集合中的对象根据属性排序
List集合中的对象根据属性排序 集合类List存放的数据,默认是按照放入时的顺序存放的,比如依次放入A.B.C,则取得时候,则也是A.B.C的顺序,实际场景中,有时我们需要根据自定义的规则对List ...
- 【Groovy】集合遍历 ( 调用集合的 every 方法判定集合中的所有元素是否符合闭包规则 | =~ 运算符等价于 contains 函数 | 代码示例 )
文章目录 一.调用集合的 every 方法判定集合中的所有元素是否符合闭包规则 二.代码示例 一.调用集合的 every 方法判定集合中的所有元素是否符合闭包规则 集合的 every 方法 , 用于 ...
- set集合判断集合中是否有无元素_集合 (Set) | 一山不容二虎的 Python 数据类型
点击上方"可乐python说"关注公众号,点击右上角 "..."选择"设为星标"第一时间获取最新分享! 前言 Hi,大家好,我是可乐, 今天 ...
- java——定义一个功能将ArrayList 集合中的重复元素删除(java集合七)
定义一个功能将ArrayList 集合中的重复元素删除 ArrayList 集合中是允许储存重复元素的 import java.util.ArrayList; import java.util.Ite ...
- set集合判断集合中是否有无元素_第八章 集合
1. Java集合体系结构(List.Set.Collection.Map的区别和联系) Collection 接口存储一组不唯一,无序的对象 List 接口存储一组不唯一,有序(插入顺序)的对象 S ...
- set集合判断集合中是否有无元素_Python基础学习笔记(五)集合与字典
本节知识大纲: 集合 字典 一.Set 集合的概念 1. set 集合的性质 set 集合是一组无序的且不能重复的集合,打印 set 集合时会自动消除重复的元素项: set 集合用大括号表示: set ...
最新文章
- 漫画:腾讯面试题(盛最多水的容器)
- linux下常用关机命令
- python【数据结构与算法】程序设计:划分整数(DP)
- ubuntu MySQL Oracle_Oracle 与 MySql 区别
- How do I enable core dumps for everybody
- oracle怎么删除存储,删除Oracle分区存储是一个怎样的过程?
- 一次完整的zabbix监控配置
- C语言学习笔记---字符串对比函数strspn()和strcspn()函数
- 合数分解1(C语言)
- [悟] 因上努力,果上随缘(转)
- java指定一个具体日期
- 应用软件,操作系统,CPU的关系
- c# 软件单元测试,单元测试(C#版)
- [技术分享 – FCS 篇] 驭龙五式3之飞龙在天:安装 FCS 服务器
- 脾气与冲突--试用ymlf下wine跑windows程序有感
- 浅析正向代理、反向代理、透明代理
- 嘉为蓝鲸CMP云管平台入选Gartner《中国云管理工具市场指南》
- 【转载】关于MSHTML
- 【数学建模】CUMCM-2013B 碎纸片的拼接复原 解题思路整理
- 学习表——受任于败军之际,奉命于危难之间(12.12-12.18)