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

List 集合指定值升序降序排列Comparator实现

升序排序
升序排序通常是指从小到大的排序。对于数值类型来说,可以直接使用 compareTo 方法,而对于其他类型,可以根据实际需求实现比较逻辑。
示例代码

import java.util.Comparator;
import java.util.List;
import java.util.ArrayList;class Spgg2BO {private String spdm;private String ggdm;private String ggmc;private Integer ggwz;public Spgg2BO(String spdm, String ggdm, String ggmc, Integer ggwz) {this.spdm = spdm;this.ggdm = ggdm;this.ggmc = ggmc;this.ggwz = ggwz;}public Integer getGgwz() {return ggwz;}
}public class Main {public static void main(String[] args) {List<Spgg2BO> spgg2List = new ArrayList<>();// 添加一些示例数据spgg2List.add(new Spgg2BO("001", "01", "规格一", 10));spgg2List.add(new Spgg2BO("002", "02", "规格二", 5));spgg2List.add(new Spgg2BO("003", "03", "规格三", 20));// 使用Comparator.comparing按ggwz升序排序spgg2List.sort(Comparator.comparing(Spgg2BO::getGgwz));// 输出排序后的结果for (Spgg2BO item : spgg2List) {System.out.println(item.getGgwz());}}
}

降序排序
降序排序是指从大到小的排序。对于数值类型,可以通过反转比较结果来实现降序排序。

示例代码

import java.util.Comparator;
import java.util.List;
import java.util.ArrayList;class Spgg2BO {private String spdm;private String ggdm;private String ggmc;private Integer ggwz;public Spgg2BO(String spdm, String ggdm, String ggmc, Integer ggwz) {this.spdm = spdm;this.ggdm = ggdm;this.ggmc = ggmc;this.ggwz = ggwz;}public Integer getGgwz() {return ggwz;}
}public class Main {public static void main(String[] args) {List<Spgg2BO> spgg2List = new ArrayList<>();// 添加一些示例数据spgg2List.add(new Spgg2BO("001", "01", "规格一", 10));spgg2List.add(new Spgg2BO("002", "02", "规格二", 5));spgg2List.add(new Spgg2BO("003", "03", "规格三", 20));// 使用Comparator.comparing按ggwz降序排序spgg2List.sort(Comparator.comparing(Spgg2BO::getGgwz).reversed());// 输出排序后的结果for (Spgg2BO item : spgg2List) {System.out.println(item.getGgwz());}}
}

在上面的降序排序示例中,我们使用了 Comparator.comparing(Spgg2BO::getGgwz).reversed() 方法来创建一个比较器,该比较器首先基于 getGgwz 方法获取的 ggwz 值进行比较,然后通过 .reversed() 方法来反转比较结果,从而实现降序排序。

总结来说,升序排序是按照自然顺序从小到大排序,而降序排序是按照相反的顺序从大到小排序。你可以通过改变比较器的实现方式来实现不同的排序顺序。

相关文章:

List 集合指定值升序降序排列Comparator实现

升序排序 升序排序通常是指从小到大的排序。对于数值类型来说&#xff0c;可以直接使用 compareTo 方法&#xff0c;而对于其他类型&#xff0c;可以根据实际需求实现比较逻辑。 示例代码 import java.util.Comparator; import java.util.List; import java.util.ArrayList;cl…...

【Day07】

目录 MySQL-DQL- 基本查询 MySQL-DQL- 条件查询 MySQL-DQL- 聚合函数 MySQL-DQL- 分组查询 MySQL-DQL- 排序查询 MySQL-DQL- 分页查询 MySQL-DQL- 案例 MySQL-多表设计-一对多 MySQL-多表设计-一对多-外键约束 MySQL-多表设计-一对一&多对多 MySQL-多表设计-案例…...

shell 控制台显示彩色文字的方法

在shell脚本中,如果我们希望在控制台能显示带颜色的文字, 那就需要使用shell中的色彩专用变量代码来进行. shell中的各种颜色代码定义 # 颜色定义 BLACK"\033[0;30m" DARK_GRAY"\033[1;30m" BLUE"\033[0;34m" LIGHT_BLUE"\033[1;3…...

Nginx: 缓存, 不缓存特定内容和缓存失效降低上游压力策略及其配置示例

概述 在负载均衡的过程中&#xff0c;有一个比较重要的概念&#xff0c;就是缓存利用缓存可以很好协调Nginx在客户端和上游服务器之间的速度不匹配的矛盾从而很好的解决整体系统的响应速度 如果用户需要通过Nginx获取某一些内容的时候&#xff0c;发起一个request请求这个请求…...

Python 全栈系列266 Kafka服务的Docker搭建

说明 在大量数据处理任务下的缓存与分发 这个算是来自顾同学的助攻1&#xff0c;我有点java绝缘体的体质&#xff0c;碰到和java相关的安装部署总会碰到点奇怪的问题&#xff0c;不过现在已经搞定了。测试也接近了kafka官方标称的性能。考虑到网络、消息的大小等因素&#xff0…...

集合框架,List常用API,栈和队列初识

回顾 集合框架 两个重点——ArrayList和HashSet. Vector/ArraysList/LinkedList区别 VectorArraysListLinkedList底层实现数组数组链表线程安全安全不安全不安全增删效率较低较低高扩容*2*1.5-------- &#xff08;>>&#xff09;运算级最低&#xff0c;记得加括号。 常…...

构建全景式智慧文旅生态:EasyCVR视频汇聚平台与AR/VR技术的深度融合实践

在科技日新月异的今天&#xff0c;AR&#xff08;增强现实&#xff09;和VR&#xff08;虚拟现实&#xff09;技术正以前所未有的速度改变着我们的生活方式和工作模式。而EasyCVR视频汇聚平台&#xff0c;作为一款基于云-边-端一体化架构的视频融合AI智能分析平台&#xff0c;可…...

C++结构体声明时初始化

提示&#xff1a;文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 前期疑问&#xff1a; 本文目标&#xff1a; 一、背景 最近 二、 2.1 c 结构体默认初始化 在C中&#xff0c;结构体的默认成员初始化可以通过构造函数来完成。如果没有为结构体提供构造函数&#x…...

基于微信的热门景点推荐小程序的设计与实现(论文+源码)_kaic

摘 要 近些年来互联网迅速发展人们生活水平也稳步提升&#xff0c;人们也越来越热衷于旅游来提高生活品质。互联网的应用与发展也使得人们获取旅游信息的方法也更加丰富&#xff0c;以前的景点推荐系统现在已经不足以满足用户的要求了&#xff0c;也不能满足不同用户自身的个…...

9、设计模式

设计模式 1、工厂模式 在工厂模式中&#xff0c;我们在创建对象时不会对客户端暴露创建逻辑&#xff0c;并且是通过使用一个共同的接口来指向新创建的对象。工厂模式作为一种创建模式&#xff0c;一般在创建复杂对象时&#xff0c;考虑使用&#xff1b;在创建简单对象时&…...

数学专题.

数论 1.判断质数 定义&#xff1a;在大于1的整数中&#xff0c;如果只包含1和本身这两个约数&#xff0c;就称为质数or素数 Acwing 866.试除法判断质数 2.预处理质数&#xff08;筛质数&#xff09; Acwing 868.筛质数 3.质因数分解 Acwing 867.分解质因数 4.阶乘分解 5.因…...

如何提升网站的收录率?

要提升网站的收录率&#xff0c;其中一个特别有效的工具就是GPC爬虫池&#xff0c;这个工具通过深度研究谷歌SEO算法&#xff0c;吸引谷歌爬虫。 GPC爬虫池的基本原理是构建一个庞大的站群系统&#xff0c;并创建复杂的内链和外链结构&#xff0c;以吸引并留住谷歌蜘蛛 使用GP…...

HALCON根据需要创建自定义函数

在HALCON中&#xff0c;根据需要创建自定义函数是扩展其图像处理和分析功能的有效方式。HALCON支持通过其高级编程接口&#xff08;HDevelop和C/C、C#、Python等&#xff09;来创建自定义函数。这里将主要讨论在HDevelop环境中如何创建自定义函数&#xff0c;因为HDevelop是HAL…...

力扣SQL仅数据库(196~569)

196. 删除重复的电子邮箱 题目&#xff1a;编写解决方案 删除 所有重复的电子邮件&#xff0c;只保留一个具有最小 id 的唯一电子邮件。 &#xff08;对于 SQL 用户&#xff0c;请注意你应该编写一个 DELETE 语句而不是 SELECT 语句。&#xff09; &#xff08;对于 Pandas …...

网络基础:理解IP地址、默认网关与网段(IP地址是什么,默认网关是什么,网段是什么,IP地址、默认网关与网段)

前言 在计算机网络中&#xff0c;IP地址、默认网关和网段&#xff08;也称为子网&#xff09;之间有着密切的关系。它们是网络通信中的至关重要的概念&#xff0c;但它们并不相同。这里来介绍一下它们之间的关系&#xff0c;简单记录一下 一. IP地址 1. 介绍 IP 地址&#xf…...

windows安装php7.4

windows安装php7.4 1.通过官网下载所需的php版本 首先从PHP官网&#xff08;https://www.php.net/downloads.php&#xff09;或者Windows下的PHP官网&#xff08;http://windows.php.net/download/&#xff09;下载Windows版本的PHP安装包。下载后解压到一个路径下。 2.配…...

【代码随想录|图论part03之后】

代码随想录|数组 704. 二分查找,27. 移除元素 一、part031、101. 孤岛的总面积1.1 dfs版本1.2 BFS版本2.102. 沉没孤岛3、103. 水流问题4、104.建造最大岛屿二、part041、110. 字符串接龙2、105.有向图的完全可达性3、106. 岛屿的周长三、part05-06 并查集理论1、107. 寻找存在…...

【项目一】基于pytest的自动化测试框架day1

day1不涉及编写代码&#xff0c;只简单梳理接口测试相关的概念。 day1接口测试的本质&#xff1a;功能测试的一部分测试用例的设计与实现接口调试与自动化&#xff1a;从postman到持续集成补充概念 day1 接口测试的本质&#xff1a;功能测试的一部分 接口测试是功能测试的一部…...

如何下载和安装 Notepad++

Notepad 是一款功能强大的开源文本编辑器&#xff0c;广泛用于代码编写和文本编辑。以下是 Notepad 的下载安装教程&#xff1a; 下载 Notepad 访问官方网站 打开你的网络浏览器&#xff0c;访问 Notepad 的官方网站&#xff1a;https://notepad-plus-plus.org/ 选择下载选项…...

笔记:如何使用Process Explorer分析句柄泄露溢出问题

一、目的&#xff1a;如何使用Process Explorer分析句柄泄露溢出问题 使用 Process Explorer 分析句柄泄漏问题是一个非常有效的方法。句柄泄漏通常是由于应用程序在创建系统资源&#xff08;如文件、注册表项、GDI 对象等&#xff09;后没有正确释放这些资源。以下是使用 二、…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...