当前位置: 首页 > news >正文

Comparator.comparing 排序注意

1. 对数字型字符串排序

 List<String> values = new ArrayList<>();values.add("10");values.add("6");values.add("20");values.add("30");values.add("50");//方法1 (正确的排序方法)//倒序--》由大到小/*List<String> collect = values.stream().sorted((x1, x2) -> {BigDecimal x1Reult = new BigDecimal(x1);BigDecimal x2Reult = new BigDecimal(x2);return x2Reult.compareTo(x1Reult);}).collect(Collectors.toList());*///方法2 (错误的排序方法)(只能按字符匹配 先比较第一位)List<String> collect = values.stream().sorted(String::compareTo).collect(Collectors.toList());System.out.println(StringUtils.join(values, ","));

// 输出
在这里插入图片描述
显然不是我们想要的结果;需要先将字符串转为数字再排序

2. 对日期排序

SimpleDateFormat sdf =   new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );Date date1 = sdf.parse( "2022-07-10 12:12:12" );Date date2 = sdf.parse( "2023-07-20 10:10:10" );Date date3 = sdf.parse( "2022-08-20 10:10:10" );List<Date> dateList = new ArrayList<>();dateList.add(date1);dateList.add(date2);dateList.add(date3);/* 方法1List<Date> collect1 = dateList.stream().sorted((d1, d2) -> {boolean equals = d1.equals(d2);if (!equals){if (d1.before(d2)) {return -1;} else if (d1.after(d2)){return 1;}}return 0;}).collect(Collectors.toList());*///方法2 (stream流的排序)List<Date> collect1 = dateList.stream().sorted(Date::compareTo).collect(Collectors.toList());//方法3 直接使用集合的排序函数 两种写法(推荐第二种写法)dateList.sort(((o1, o2) -> o1.compareTo(o2)));// dateList.sort(Date::compareTo);System.out.println(dateList);System.out.println(collect1);

相关文章:

Comparator.comparing 排序注意

1. 对数字型字符串排序 List<String> values new ArrayList<>();values.add("10");values.add("6");values.add("20");values.add("30");values.add("50");//方法1 &#xff08;正确的排序方法&#xff09;//倒…...

PPO系列3 - PPO原理

On Policy: 采集数据的模型&#xff0c;和训练的模型&#xff0c;是同一个。缺点&#xff1a;慢&#xff0c;生成一批样本数据&#xff0c;训练一次&#xff0c;又要重新生成下一批。 Off Policy: 采集数据的模型&#xff0c;和训练的模型&#xff0c;不是同一个。有点&#xf…...

.idea

.idea/ 文件夹下的文件和目录主要用于存储 JetBrains IDE&#xff08;如 PyCharm、IntelliJ IDEA 等&#xff09;的项目配置。下面是一些常见文件和目录及其作用的详细介绍&#xff1a; 1. workspace.xml 用户界面布局&#xff1a;保存了IDE窗口布局&#xff0c;包括打开的文…...

单片机:实现呼吸灯(附带源码)

单片机实现呼吸灯详细解读 呼吸灯是一种常见的灯光效果&#xff0c;广泛应用于电子产品、汽车、家居照明等领域。其基本特性是通过逐渐增亮和减弱的方式&#xff0c;使得灯光呈现出“呼吸”的效果&#xff0c;给人一种平缓、舒适的视觉感受。在嵌入式系统中&#xff0c;呼吸灯…...

PostgreSQL数据库序列信息查询

PostgreSQL序列信息查询 说明&#xff1a; 在PostgreSQL数据库中序列和表都是序列的对象。 数据库中不应该存在孤儿序列&#xff0c;序列应该和表对应的字段绑定起来。绑定后删除表或表对应的字段后&#xff0c;序列会自动被删除。 创建测试表和序列 create table test_t(…...

【Linux】Nginx一个域名https一个地址配置多个项目【项目实战】

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;CSDN博客专家   &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01…...

Linux驱动开发(12):中断子系统–按键中断实验

本章我们以按键为例讲解在驱动程序中如何使用中断&#xff0c; 在学习本章之前建议先回顾一下关于中断相关的裸机部分相关章节&#xff0c; 这里主要介绍在驱动中如何使用中断&#xff0c;对于中断的概念及GIC中断控制器相关内容不再进行讲解。 本章配套源码和设备树插件位于“…...

代码随想录-算法训练营-番外(图论02:岛屿数量,岛屿的最大面积)

day02 图论part02 今日任务:岛屿数量,岛屿的最大面积 都是一个模子套出来的 https://programmercarl.com/kamacoder/0099.岛屿的数量深搜.html#思路往日任务: day01 图论part01 今日任务:图论理论基础/所有可到达的路径 代码随想录图论视频部分还没更新 https://programmercar…...

20 go语言(golang) - gin框架安装及使用(一)

一、简介 Gin是一个用Go语言编写的高性能Web框架&#xff0c;专注于构建快速、可靠的HTTP服务。它以其速度和简洁性而闻名&#xff0c;非常适合用于开发RESTful API。 高性能&#xff1a;Gin使用了httprouter进行路由管理&#xff0c;这是一个轻量级且非常快速的HTTP请求路由器…...

重生之我在学Vue--第3天 Vue 3 模板语法与指令

重生之我在学Vue–第3天 Vue 3 模板语法与指令 文章目录 重生之我在学Vue--第3天 Vue 3 模板语法与指令前言一、数据绑定1.1 单向绑定1.2 双向绑定 二、常用指令2.1 v-bind2.2 v-model2.3 v-if2.4 v-show2.5 v-for2.6 v-on 三、事件处理与表单绑定3.1 事件处理3.2 表单绑定 前言…...

电脑win11家庭版升级专业版和企业版相关事项

我的是零刻ser9&#xff0c;自带win11家庭版&#xff0c;但是我有远程操控需求&#xff0c;想用windows系统自带的远程连接功能&#xff0c;所以需要升级为专业版。然后在系统激活页面通过更改序列号方式&#xff0c;淘宝几块钱买了个序列号升级成功专业版了。但是&#xff0c;…...

docker 架构详解

Docker架构是基于客户端-服务器&#xff08;C/S&#xff09;模式的&#xff0c;包含多个关键组件&#xff0c;以确保容器化应用的高效构建、管理和运行。以下是对Docker架构的详细解析&#xff1a; Docker 架构概述 Docker 架构采用客户端-服务器&#xff08;C/S&#xff09;…...

tinyCam Pro 用于远程监控,控制和录制您的私人公共网络或IP摄像机

tinyCam Pro 是一款用于远程监控&#xff0c;控制和录制您的私人/公共网络或IP摄像机&#xff0c;视频编码器和具有500万次下载的CCTV摄像头的DVR。需使用3G/4G/WiFi连接和下载数据。 tinyCam Monitor Pro 可用于远程安全地监控您的宝宝、宠物、家庭、商业、交通和天气&#xf…...

Flask 验证码自动生成

Flask 验证码自动生成 想必验证码大家都有所了解&#xff0c;但是可以自己定义图片验证码&#xff0c;包含数字&#xff0c;英文以及数字计算&#xff0c;自动生成验证码。 生成图片以及结果 from captcha.image import ImageCaptchafrom PIL import Image from random impo…...

vmpwn小总结

前言&#xff1a; 好久没有更新博客了&#xff0c;关于vm的学习也是断断续续的&#xff0c;只见识了几道题目&#xff0c;但是还是想总结一下&#xff0c;所谓vmpwn就是把出栈&#xff0c;进栈&#xff0c;寄存器&#xff0c;bss段等单独申请一块空闲实现相关的功能&#xff0…...

开源密码管理器 Bitwarden 一站式管理所有密码以及 2FA

本文首发于只抄博客&#xff0c;欢迎点击原文链接了解更多内容。 前言 随着注册的平台越来越多&#xff0c;管理密码的难度也越来越高了。要是把密码都设置成一样的&#xff0c;担心哪天某个平台泄露被一锅端&#xff0c;而每个平台单独一个密码又不太好记&#xff0c;这时候就…...

标准体重计算API集成指南

标准体重计算API集成指南 引言 在当今数字化和健康意识日益增长的时代&#xff0c;开发人员和健康管理专业人士不断寻找创新的方法来促进用户的健康生活。标准体重计算是一个关键的健康指标&#xff0c;它可以帮助个人了解自己的身体状况&#xff0c;并为制定合适的饮食和运动…...

多个终端查看的history不一样,如何确保多个终端会话之间的 history 一致,减少历史记录差异

问题&#xff1a; 在使用 Linux 系统时&#xff0c;history 命令显示的历史记录通常是与当前终端会话相关的。这就意味着&#xff0c;如果你在多个终端中打开会话&#xff0c;它们显示的历史记录可能不完全相同。这个问题通常是由以下原因引起的&#xff1a; 原因&#xff1a…...

Spring Boot整合EasyExcel并行导出及Zip压缩下载

1. 项目依赖 首先&#xff0c;我们需要引入相关的依赖&#xff0c;包括 Spring Boot 和阿里巴巴的 EasyExcel 组件&#xff0c;此外还需要使用 Java 的 Zip 工具进行压缩操作。 <dependencies><!-- Spring Web --><dependency><groupId>org.springfr…...

Docker 对 iptables 规则的自动配置,这句话是什么意思

Docker 对 iptables 规则的自动配置指的是 Docker 守护进程 (daemon) 会自动管理 Linux 系统上的 iptables 规则&#xff0c;以便容器可以正确地进行网络通信。这对于大多数用户来说是一个方便的功能&#xff0c;因为它简化了容器网络配置。 具体来说&#xff0c;这意味着&…...

MusePublic部署案例:离线环境无网络部署与本地模型缓存策略

MusePublic部署案例&#xff1a;离线环境无网络部署与本地模型缓存策略 1. 项目概述 MusePublic是一款专为艺术感时尚人像创作设计的轻量化文本生成图像系统。这个项目基于专属大模型构建&#xff0c;采用安全高效的safetensors格式封装&#xff0c;特别针对艺术人像的优雅姿…...

API平台选型指南:从RapidAPI、聚合数据到幂简集成的实战考量

1. 为什么API平台选型如此重要&#xff1f; 想象一下你正在开发一款智能天气应用&#xff0c;需要接入实时气象数据、空气质量指数和灾害预警接口。如果每个API都要单独注册账号、申请密钥、阅读不同风格的文档&#xff0c;光是集成工作就可能耗掉两周时间。这就是为什么选择一…...

试盘Z之主力操盘线

试盘K&#xff0c;以满足特定条件后对该K线标注为试盘字样方便查看。同时通达对9日最低值与9日最高值进行EMA移动平均&#xff0c;得出主力操盘线&#xff01;试盘Z源码:X_1:REF(EMA((HLC)/3,9),1);X_2:EMA(HHV(HIGH,9),3);X_3:EMA(LLV(LOW,9),3);主力操盘线:EMA(X_1*2-X_3,5),…...

Python数据可视化实战:用matplotlib绘制专业级折线图(附完整代码)

Python数据可视化实战&#xff1a;用matplotlib绘制专业级折线图&#xff08;附完整代码&#xff09; 数据可视化是现代数据分析不可或缺的一环&#xff0c;而折线图作为最基础也最常用的图表类型之一&#xff0c;能够直观展示数据随时间或有序类别的变化趋势。对于Python开发者…...

OpenClaw+GLM-4.7-Flash开发提效:日志分析+异常告警自动化

OpenClawGLM-4.7-Flash开发提效&#xff1a;日志分析异常告警自动化 1. 为什么需要自动化日志监控 作为开发者&#xff0c;我每天要面对服务器、应用和中间件产生的海量日志。曾经为了排查一个线上问题&#xff0c;我需要手动grep几十MB的日志文件&#xff0c;眼睛盯着屏幕找异…...

TurboWarp Packager:让Scratch作品突破平台限制的跨平台打包工具

TurboWarp Packager&#xff1a;让Scratch作品突破平台限制的跨平台打包工具 【免费下载链接】packager Converts Scratch projects into HTML files, zip archives, or executable programs for Windows, macOS, and Linux. 项目地址: https://gitcode.com/gh_mirrors/pack/…...

告别pip安装失败:在Jetson Nano(ARM64)上手动编译PyQt5 5.15.2的完整记录

在Jetson Nano&#xff08;ARM64&#xff09;上手动编译PyQt5 5.15.2的完整指南 当你在Jetson Nano这样的ARM64架构设备上尝试用pip安装PyQt5时&#xff0c;很可能会遇到各种兼容性问题。作为一款强大的Python GUI库&#xff0c;PyQt5在嵌入式开发中有着广泛的应用场景&#x…...

Photoshop AI绘画终极指南:用中文轻松驾驭Stable Diffusion插件

Photoshop AI绘画终极指南&#xff1a;用中文轻松驾驭Stable Diffusion插件 【免费下载链接】Auto-Photoshop-StableDiffusion-Plugin A user-friendly plug-in that makes it easy to generate stable diffusion images inside Photoshop using either Automatic or ComfyUI a…...

7个步骤打造高效文件上传系统:Plupload零基础入门指南

7个步骤打造高效文件上传系统&#xff1a;Plupload零基础入门指南 【免费下载链接】plupload Plupload is JavaScript API for building file uploaders. It supports multiple file selection, file filtering, chunked upload, client side image downsizing and when necess…...

实战指南:利用Python可视化常见激活函数(Sigmoid、Tanh、ReLU、PReLU)及其特性对比

1. 为什么需要可视化激活函数&#xff1f; 在深度学习的世界里&#xff0c;激活函数就像是神经网络的"开关"&#xff0c;决定了神经元是否应该被激活。但很多初学者在学习时&#xff0c;往往只是死记硬背公式&#xff0c;却不知道这些函数长什么样、在什么情况下会有…...