Java中如何自定义排序List集合,使其8点到23点的数据排在前面?

java中如何自定义排序list集合,使其8点到23点的数据排在前面?

Java中使用Stream进行自定义List排序

本文介绍如何在Java中对包含日期时间属性的List集合进行自定义排序,使8点到23点的数据优先显示。

解决方案:利用Comparator

高效的解决方案是使用Java Stream API和自定义Comparator。 我们无需手动移动元素,而是直接利用Comparator定义排序规则,然后使用sorted()方法进行排序。

立即学习“Java免费学习笔记(深入)”;

代码示例:

假设Obj类包含一个LocalDateTime类型的属性time

import java.time.LocalDateTime;import java.util.ArrayList;import java.util.Comparator;import java.util.List;class Obj {    LocalDateTime time;    public Obj(LocalDateTime time) {        this.time = time;    }    @Override    public String toString() {        return time.getHour() + "";    }}public class CustomSort {    public static void main(String[] args) {        List list = new ArrayList();        list.add(new Obj(LocalDateTime.of(2024, 1, 1, 23, 0)));        list.add(new Obj(LocalDateTime.of(2024, 1, 1, 10, 0)));        list.add(new Obj(LocalDateTime.of(2024, 1, 1, 1, 0)));        list.add(new Obj(LocalDateTime.of(2024, 1, 1, 8, 0)));        list.add(new Obj(LocalDateTime.of(2024, 1, 1, 5, 0)));        list.add(new Obj(LocalDateTime.of(2024, 1, 1, 15, 0)));        list.stream()                .sorted(Comparator.comparingInt(o -> {                    int hour = o.time.getHour();                    return hour >= 8 && hour <= 23 ? hour : hour + 24; //8-23排前面                }))                .forEach(System.out::println);    }}

代码解释:

Comparator将时间转换为一个整数,如果小时在8到23之间,则直接返回小时数;否则,加上24,保证8-23小时的数据排在0-7小时数据前面。 sorted()方法根据这个Comparator进行排序,最后forEach打印结果。

输出结果将是8点到23点的数据排在前面,然后是0点到7点的数据。

这种方法简洁高效,充分利用了Java Stream API的特性,避免了手动调整元素的复杂性。

以上就是Java中如何自定义排序List集合,使其8点到23点的数据排在前面?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/182492.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2026年9月3日 14:39:43
解析HTTP525状态码的意义和应用
下一篇 2025年12月22日 00:21:49

相关推荐

  • 美科技巨头2025年将维持高水平AI投资

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 美国科技巨头对人工智能基础设施的巨额投资将持续保持高水平。据报道,亚马逊等四家主要企业2024年的设备投资总额已达2450亿美元,预计2025年仍将维持高增长态势。 数据显示,谷歌母公司Alph…

    2026年9月3日
    000
  • Yandex引擎便捷网页入口-Yandex引擎网址直接跳转平台

    yandex搜索引擎的直接访问入口是php.cn/link/8009ab6ac1e36d02b4a7f30b0206d3d3(国际版)和php.cn/link/28b673023e123cdefc28fd22e24c6c98(俄语本地版)。1. 选择yandex因其在俄语区市场份额高,搜索算法针对俄…

    2026年9月3日
    600
  • 三角洲行动全干员白嫖指南 零基础速通四个隐藏特工秘籍

    三角洲行动全干员白嫖指南 零基础速通四个隐藏特工秘籍三角洲行动全干员白嫖指南 零基础速通四个隐藏特工秘籍三角洲行动全干员白嫖指南 零基础速通四个隐藏特工秘籍三角洲行动全干员白嫖指南 零基础速通四个隐藏特工秘籍

    还在为错过赛季限定干员捶胸顿足?这份全网最肝的解锁手册,教你用三套神装 + 四大地图杀穿全任务!手残党也能 72 小时全收集 零损耗刷场次秘籍 双倍进度小技巧 单人开危险行动→出生点丢烟雾弹→苟到倒数 30 秒撤离 每局仅需 3 分钟,撤离成功算 2 场,日刷 30 场不是梦! 核心任务拆解(按难度…

    2026年9月3日 用户投稿
    200
  • 怎么用AI做商业PPT_借助CanvaAI快速生成专业幻灯片步骤

    怎么用AI做商业PPT_借助CanvaAI快速生成专业幻灯片步骤怎么用AI做商业PPT_借助CanvaAI快速生成专业幻灯片步骤怎么用AI做商业PPT_借助CanvaAI快速生成专业幻灯片步骤怎么用AI做商业PPT_借助CanvaAI快速生成专业幻灯片步骤

    答案:利用Canva AI制作商业PPT需明确指令、注入品牌元素、填充真实数据与故事、人工精修并规避过度依赖AI等误区,通过人机协作提升效率与专业性。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ AI,尤其是Canva AI,已经彻底改变…

    2026年9月3日 用户投稿
    000
  • 《猫娘乐园:世界连结》开放游戏预约 游戏主题曲「Cute Domination」公开

    《猫娘乐园:世界连结》开放游戏预约 游戏主题曲「Cute Domination」公开《猫娘乐园:世界连结》开放游戏预约 游戏主题曲「Cute Domination」公开《猫娘乐园:世界连结》开放游戏预约 游戏主题曲「Cute Domination」公开《猫娘乐园:世界连结》开放游戏预约 游戏主题曲「Cute Domination」公开

    good smile 与《猫娘乐园》系列制作团队 neko works 联合宣布,推出全新作品《猫娘乐园 世界连结(暂译,原名:nekopara sekai connect / ネコぱら セカイコネクト)》,本作预计登陆 pc、ios 及 android 平台,目前事前登录已开放,玩家可透过 goo…

    2026年9月3日 用户投稿
    100
  • 高效管理网站链接:SilverStripe Linkable 模块实战

    最近我参与了一个 silverstripe 网站的改版项目,其中一个重要需求是改进网站链接的管理方式。之前的代码中,链接信息散落在各个页面模板中,维护起来非常费力,而且容易出错。例如,如果需要更改一个链接的url,就必须手动修改所有相关的模板文件,这不仅繁琐,而且容易遗漏。 为了解决这个问题,我决定…

    用户投稿 2026年9月3日
    000
  • 谷歌素材下载全攻略_谷歌平台素材资源的查找与下载方法

    谷歌素材下载全攻略_谷歌平台素材资源的查找与下载方法谷歌素材下载全攻略_谷歌平台素材资源的查找与下载方法谷歌素材下载全攻略_谷歌平台素材资源的查找与下载方法谷歌素材下载全攻略_谷歌平台素材资源的查找与下载方法

    要高效在谷歌平台查找并下载素材,首先需根据素材类型选择对应服务:图片用谷歌图片并筛选使用权限;文档用谷歌搜索加filetype:指令;学术资料用google scholar;视频音频用youtube筛选知识共享内容;书籍用google books预览。2. 掌握高级搜索指令能大幅提升效率:用file…

    2026年9月3日 用户投稿
    600
  • 安全可靠的数字资产托管:Cobo Custody PHP SDK 使用指南

    在构建一个需要处理数字资产的应用时,安全性和可靠性至关重要。传统的自建托管方案不仅开发成本高昂,而且维护复杂,存在较高的安全风险。而选择专业的数字资产托管服务商,则可以有效降低这些风险,并专注于应用的核心功能开发。cobo custody 作为一家领先的数字资产托管服务商,提供了安全可靠的托管服务和…

    2026年9月3日
    000
  • 【出售】传雷诺与富士康重启谈判 拟出售日产股份

    1. 雷诺与富士康重启谈判,或将出售日产股份 据英国《金融时报》报道,雷诺与本田的合并谈判破裂后,已重启与富士康关于出售其持有的日产股份的谈判。 雷诺此举源于对日产股价在缺乏新合作伙伴情况下持续低迷的担忧。 消息人士称,雷诺将广泛接触全球科技公司,包括苹果公司。雷诺计划出售其通过法国信托机构持有的日…

    2026年9月3日
    100
  • 可乐下载器怎么卸载干净_可乐下载器彻底卸载图文教程

    首先通过控制面板卸载可乐下载器主体,再手动删除残留文件夹、清理注册表项,接着检查并禁用启动项与计划任务,最后使用Revo Uninstaller等专业工具扫描残留,确保彻底清除软件及相关数据。 如果您在使用可乐下载器后发现其残留进程或文件影响系统运行,或希望完全清除该软件及其相关数据,可以按照以下方…

    2026年9月3日
    000
  • 继续加码AI领域 美国四大科技巨头承诺今年投资3200亿美元

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ DeepSeek的出现虽然引发了对AI巨额投资的质疑,但美国科技巨头们对人工智能的投入却有增无减,2025年AI热潮持续升温。 微软、亚马逊、谷歌和Meta近日宣布,继去年创纪录的支出后,今年将…

    2026年9月3日
    000
  • 施耐德电气重磅发布全新EcoStruxureEnergy Operation电力综合运营系统

    日前,2025施耐德电气智算峰会在四川雅安圆满举行,会上施耐德电气隆重推出了全新ecostruxure energy operation电力综合运营系统。作为面向未来灵活需求的解决方案,该系统专为中国市场打造,具备开放性和可扩展性,能够深入覆盖中低压配电、微网监控、新能源监控以及综合能源管理等多种应…

    2026年9月3日
    100
  • 高效测试利器:使用ramuasd/symfony-container-mocks简化Symfony单元测试

    作为一名symfony开发者,我深知单元测试的重要性。然而,在测试过程中,经常被复杂的依赖注入问题困扰。例如,我的一个控制器依赖于多个服务,这些服务本身又依赖于其他服务,形成了一个复杂的依赖链。如果直接使用这些服务进行测试,测试将变得非常脆弱,任何依赖服务的改变都可能导致测试失败。为了解决这个问题,…

    2026年9月3日
    000
  • vivo副总裁:与iPhone的互联依赖苹果开放 未来或有变动

    6月23日,vivo产品副总裁黄韬在其官方社交媒体平台上发布消息,透露了即将推出的vivo x fold5的部分新功能。作为vivo新一代折叠屏手机,x fold5在机身轻薄度和硬件性能方面均有升级,并且在跨平台生态互联方面也进行了全新探索。 黄韬指出,目前使用折叠屏手机的用户多为移动办公人群,他们…

    2026年9月3日
    100
  • PHP文件上传与数据库记录:常见问题及安全实践

    本文旨在解决PHP文件上传至服务器目录成功但数据库记录失败的问题,并深入分析导致此问题的常见原因,包括不当的SQL查询结果判断和潜在的SQL注入风险。教程将提供一套安全、健壮的文件上传与数据库记录解决方案,强调使用预处理语句和完善的错误处理机制。 在web开发中,文件上传是一个常见的功能需求。然而,…

    2026年9月3日
    100
  • 如何用纯JavaScript实现菜单项溢出时折叠到下拉菜单的效果?

    巧妙运用JavaScript实现菜单项溢出折叠效果 面对菜单项过多导致空间不足的问题,如何优雅地将其折叠到下拉菜单中?本文将提供一种纯JavaScript解决方案,无需依赖任何第三方插件。 核心思路是动态计算菜单项总宽度与容器宽度的关系。如果菜单项总宽度超过容器宽度,则将部分菜单项隐藏,并将其添加到…

    2026年9月3日
    200
  • 何小鹏:多家车企发布智能战略 智驾时代正加速到来

    小鹏汽车ceo何小鹏近日在社交媒体宣布,智能驾驶的普及浪潮席卷全球,多家车企纷纷发布智能化战略。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 何小鹏总结了小鹏汽车在自动驾驶领域的突破历程:从2020年推出L2级自动泊车功能,到2021年实…

    2026年9月3日
    100
  • 轻松搞定异步操作:Guzzle Promises 的实践指南

    最近在开发一个图片处理系统时,遇到了一个瓶颈:处理每张图片都需要耗费较长时间,如果同步处理,用户体验将会非常糟糕。 为了提升用户体验,我需要将图片处理任务异步化,让用户提交请求后立即得到响应,后台再慢慢处理图片。 起初,我尝试自己编写异步处理逻辑,但很快发现代码变得冗长且难以维护,而且错误处理也十分…

    用户投稿 2026年9月3日
    100
  • 数据库连接与写入操作真的异步执行吗?代码示例分析及异步编程最佳实践

    数据库异步操作及代码示例分析 异步编程中,数据库连接和写入操作的执行顺序至关重要。本文通过分析一个案例,探讨数据库连接与写入是否真正异步执行,并指出代码中可能存在的异步操作问题及最佳实践。 案例代码在未确认数据库连接成功的情况下,直接执行写入操作。这引发了关于操作异步性及代码合理性的疑问。此外,代码…

    2026年9月3日
    200
  • malloc 函数详解

    malloc 函数详解malloc 函数详解malloc 函数详解malloc 函数详解

    大家好,又见面了,我是你们的朋友全栈君。 很多学过C的人对malloc都不是很了解,知道使用malloc要加头文件,知道malloc是分配一块连续的内存,知道和free函数是一起用的。但是但是: 一部分人还是将:malloc当作系统所提供的或者是C的关键字,事实上:malloc只是C标准库中提供的一…

    2026年9月3日 用户投稿
    400

发表回复

登录后才能评论
关注微信