java8使用stream根据时间进行排序实现
2022/6/16 1:22:49
本文主要是介绍java8使用stream根据时间进行排序实现,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
效果
乱序 [ Student{userName='张三', userNick='2', age=22, createTime='2022-12-02 2:11:00'}, Student{userName='李四', userNick='1', age=23, createTime='2022-12-03 16:11:00'}, Student{userName='王五', userNick='4', age=24, createTime='2022-12-01 21:11:00'}, Student{userName='赵六', userNick='3', age=25, createTime='2022-12-02 22:11:00'}] 升序 [ Student{userName='王五', userNick='4', age=24, createTime='2022-12-01 21:11:00'}, Student{userName='赵六', userNick='3', age=25, createTime='2022-12-02 22:11:00'}, Student{userName='张三', userNick='2', age=22, createTime='2022-12-02 2:11:00'}, Student{userName='李四', userNick='1', age=23, createTime='2022-12-03 16:11:00'}] 降序[ Student{userName='李四', userNick='1', age=23, createTime='2022-12-03 16:11:00'}, Student{userName='张三', userNick='2', age=22, createTime='2022-12-02 2:11:00'}, Student{userName='赵六', userNick='3', age=25, createTime='2022-12-02 22:11:00'}, Student{userName='王五', userNick='4', age=24, createTime='2022-12-01 21:11:00'}]
代码实现
public class Test { public static void main(String[] args) throws IOException { //测试数据,请不要纠结数据的严谨性 List<Student> studentList = new ArrayList<>(); studentList.add(new Student("张三","2",22,"2022-12-02 2:11:00")); studentList.add(new Student("李四","1",23,"2022-12-03 16:11:00")); studentList.add(new Student("王五","4",24,"2022-12-01 21:11:00")); studentList.add(new Student("赵六","3",25,"2022-12-02 22:11:00")); //根据日期进行升序排序 //乱序 System.out.println("乱序"+studentList); //根据日期进行升序排序 List<Student> studentsSortAsce = studentList.stream().sorted(Comparator.comparing(Student::getCreateTime)).collect(Collectors.toList()); //根据日期进行降序排序 List<Student> studentsSortDesc = studentList.stream().sorted(Comparator.comparing(Student::getCreateTime).reversed()).collect(Collectors.toList()); //升序后输出 System.out.println("升序"+studentsSortAsce); //降序后输出 System.out.println("降序"+studentsSortDesc); } } class Student{ private String userName; private String userNick; private int age; private String createTime; public Student() { } public Student(String userName, String userNick, int age, String createTime) { this.userName = userName; this.userNick = userNick; this.age = age; this.createTime = createTime; } @Override public String toString() { return "Student{" + "userName='" + userName + '\'' + ", userNick='" + userNick + '\'' + ", age=" + age + ", createTime='" + createTime + '\'' + '}'; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserNick() { return userNick; } public void setUserNick(String userNick) { this.userNick = userNick; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getCreateTime() { return createTime; } public void setCreateTime(String createTime) { this.createTime = createTime; } }
reversed() 进行一个反转的操作
Student::此处填写要排序的字段
这篇关于java8使用stream根据时间进行排序实现的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?