java自定义排序Comparator

news2024/11/17 1:28:32

📑前言

本文主要是【java】——java自定义排序Comparator的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:CSDN主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见

目录

    • 📑前言
    • java多关键字排序
    • 📑文章末尾

java多关键字排序

  • 按成绩从大到小排序,如果成绩相同,按照java分数高低排序

    package practice;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;
    
    public class 多关键字排序 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		List<Student> list = new ArrayList<Student>();
    		list.add(new Student("张三", 100, 59));
    		list.add(new Student("李四", 100, 100));
    		list.add(new Student("王五", 98, 96));
    		list.add(new Student("赵六", 96, 98));
    		list.add(new Student("陈七", 59, 100));
    		Collections.sort(list,new Comparator<Student>() {
    			@Override
    			public int compare(Student o1, Student o2) {
    				// TODO Auto-generated method stub
    				//o1在前,o2在后,-1表示不换,1表示换
    				if(o1.score>o2.score) return o2.score-o1.score;//	<0
    				else if(o1.score<o2.score) return o2.score-o1.score;//	>0
    				else {
    					if(o1.java<o2.java) return o1.java-o2.java;
    				}
    				return 0;
    			}
    		});
    		for(Student i:list) {
    			System.out.println(i.toString());
    		}
    	}
    
    }
    
    class Student{
    	public Student(String stuname,int java,int mysql) {
    		this.stuname = stuname;
    		this.java = java;
    		this.mysql = mysql;
    		this.score = java+mysql;
    	}
    	String stuname;
    	int java;
    	int mysql;
    	int score;
    	//打印对象的时候,默认调用toString()
    	public String toString() {
    		return this.stuname+" "+this.java+" "+this.mysql+" "+this.score;
    	}
    	
    }
    
    
  • 打印结果

    李四 100 100 200
    赵六 96 98 194
    王五 98 96 194
    陈七 59 100 159
    张三 100 59 159
    

📑文章末尾

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1377564.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《C++ Primer》第14章 重载运算与类型转换(一)

参考资料&#xff1a; 《C Primer》第5版《C Primer 习题集》第5版 14.1 基本概念&#xff08;P490&#xff09; 重载的运算符是具有特殊名字的函数&#xff0c;其名字有 operator 和要定义的运算符组合而成。和其他函数一样&#xff0c;重载运算符也具有返回类型、参数列表…

人工智能推动供应链革命的成功

人工智能推动供应链革命的成功 目录 人工智能推动供应链革命的成功一、供应链管理不断变化的面貌二、拥挤的解决方案景观三、踏上人工智能驱动的转型1. 价值创造识别、战略和路线图2. 目标解决方案设计和供应商选择3. 实施与系统集成4. 变革管理、能力建设和全面价值获取 新技术…

深思这届CES,前沿新物种「辣眼睛」背后

作者 | 陈然 来源 | 洞见新研社 每届CES都会让不少人发出“无趣”的感叹。的确&#xff0c;无论是置身会场还是看网络上的报道&#xff0c;到处都是熙熙攘攘的人群&#xff0c;很难从中发现哪些产品或创意值得把玩一番。 实际上&#xff0c;辣眼睛的新物种常有&#xff0c;制…

发动机装备3d虚拟在线云展馆360度展示每处细节

在当今数字化的时代&#xff0c;消费者对于线上购物的需求与期待日益增长。尤其在购车这一大宗消费行为上&#xff0c;消费者不再满足于传统的图片与文字介绍。为了满足这一市场需求&#xff0c;我们引入了3D线上展示技术。 3D汽车模型实景互动展示是一种通过先进的三维建模技术…

软件测试|selenium 元素无此属性NoSuchAttributeException问题分析与解决

简介 在使用Selenium进行Web自动化测试时&#xff0c;我们可能会遇到NoSuchAttributeException异常。这个异常通常在尝试访问一个元素的属性&#xff08;attribute&#xff09;时抛出&#xff0c;但该属性不存在。本文将介绍NoSuchAttributeException异常的常见原因以及解决方…

Exception in thread “main“ java.lang.ArrayIndexOutOfBoundsException(数组创建问题)

数组在Java中使用还是比较多的&#xff0c;通过索引去数组中寻值&#xff0c;也可以通过数组索引去赋值 问题描述&#xff1a; 我们在直接使用未被new的数组时就会出现这种情况&#xff0c; 这边简单创建一个运行类 public class a {public static void main(String[] args)…

大数据-hive函数与mysql函数的辨析及练习-将多行聚合成一行

目录 1. &#x1f959;collect_list: 聚合-不去重 2. &#x1f959;collect_set(col): 聚合-去重 3. &#x1f959;mysql的聚合函数-group_concat 4. leetcode练习题 1. &#x1f959;collect_list: 聚合-不去重 将组内的元素收集成数组 不会去重 2. &#x1f959;collec…

Notepad++安装步骤

Notepad是一款文本编辑工具&#xff0c;支持27种编程语言&#xff0c;通吃C,C ,Java ,C#, XML, HTML, PHP,JS 等&#xff0c;该软件拥有完整的中文化接口及支持多国语言编写的功能&#xff0c;不仅可以用来制作一般的纯文字说明文件&#xff0c;还非常适合编写计算机程序代码&a…

在Windows Server 2012中部署war项目

目录 一.安装jdk 二.安装tomcat 三.安装MySQL 四.部署项目 好啦今天就到这了&#xff0c;希望帮到你了哦 前言&#xff1a;具体步骤&#xff1a; 1.安装JDK&#xff1a; 2.安装tomcat&#xff1a; 3.安装MySQL&#xff1a; 4.部署项目&#xff1a; 一.安装jdk 将所需文件放…

第一波!2024年1月精选6款实用AI人工智能设计工具合集

大家好&#xff0c;这是进入2024年之后的第一波干货合集&#xff01;这次的干货合集还是以 AI 相关的设计干货开头&#xff0c;这次有了在本地无限制帮你清理图片中元素的 AI 工具&#xff0c;有知名免费图库出品的实时 AI 图片生成工具、将截图直接转化为代码的超强工具&#…

x-cmd pkg | smartctl - 用于监测和分析硬盘的工具

目录 简介首次用户功能特点竞品和相关作品进一步阅读 简介 smartctl 是一个用于监测和分析硬盘中 S.M.A.R.T.&#xff08;自我检测&#xff0c;分析和报告技术&#xff09;信息的命令行工具&#xff0c;是 Smartmontools 的一部分。通过 smartctl 工具&#xff0c;可以分析各种…

接口自动化测试介入项目管理流程

上图为接口自动化测试介入梧桐项目管理流程图 前景和目标&#xff1a; 现在公司的项目流程都是全部开发完成后提交到测试环境进行测试&#xff0c;导致测试人员在开发编码过程中相对清闲&#xff0c;除了完成测试用例之外没有其他事情可做&#xff0c;而当进入测试阶段又会变的…

[windows]一种判断exe是32位还是64位程序简单方法

不用运行&#xff0c;直接查看 exe 文件的兼容性属性。 如果是 32 位的程序&#xff0c;“简化的颜色模式”和“用 640x480 屏幕分辨率运行”是可以勾选的&#xff0c;且兼容模式最低可以调到 Windows 95。 而 64 位的程序&#xff0c;“简化的颜色模式”和“用 640 x 480 屏…

什么是reids缓存雪崩、穿透、击穿

1.Reids缓存雪崩 Redis缓存key同一时间大量失效&#xff0c;导致大量请求全部打到数据库&#xff0c;造成数据库挂掉 解决方案 设置缓存失效时间&#xff0c;随机初始化失效时间 部署集群的时候&#xff0c;把热点数据平均分布到不同redis节点上去 暴力方法&#xff0c;不…

Spirng MVC见解1

1. SpringMVC概述 1.1 MVC介绍 MVC是一种设计模式&#xff0c;将软件按照模型、视图、控制器来划分&#xff1a; M&#xff1a;Model&#xff0c;模型层&#xff0c;指工程中的JavaBean&#xff0c;作用是处理数据 JavaBean分为两类&#xff1a; 一类称为数据承载Bean&#x…

x-cmd pkg | trash-cli - 类 Unix 系统的命令行垃圾桶

目录 简介首次用户技术特点竞品和相关作品进一步阅读 简介 trash-cli 是类 Unix 系统的命令行垃圾桶&#xff0c;用于移动文件到回收站&#xff0c;同时会记录文件的原地址和删除日期。 该工具使用与 GNOME、KDE ​​和 XFCE 等桌面环境相同的垃圾桶&#xff0c;所以即使是非 …

数字信号处理实验---Z变换及系统的零极点分析 Matlab代码

一&#xff0e;各种函数的用法 1.tf2zp函数&#xff1a;通常用于将传递函数&#xff08;Transfer Function&#xff09;转换为零极增益形式&#xff08;ZPK form&#xff09;&#xff0c;转换前G(s) num(s) / den(s)&#xff0c;转换后G(s) K * (s - z1) * (s - z2) * ... *…

matlab使用PhysioNet的WFDB工具箱

目录 PhysioNet 官方安装示例 PhysioNet 官方 官方的文档&#xff1a;Waveform Database Software Package (WFDB) for MATLAB and Octave 简介&#xff1a;用于MATLAB的WFDB工具箱是用于读取、写入和操作&#xff08;处理&#xff09;PhysioNet数据的MATLAB函数的集合&#x…

MySQL篇—自带物理克隆数据工具Clone插件介绍(第一篇,总共三篇)

各位小伙伴&#xff0c;今天我为大家介绍一下MySQL Clone Plugin这个插件&#xff0c;简单来说&#xff0c;就是MySQL 8.0.17版本之后的一个物理克隆数据工具&#xff0c;它能够帮助我们快速、高效地克隆或复制数据库&#xff0c;极大地简化了数据库迁移、备份和恢复的过程&…

CSRF漏洞+附pikachu靶场详解

文章目录 前言一、CSRF漏洞是什么二、CSRF漏洞形成的条件1、用户要在登录状态&#xff08;即浏览器保存了该用户的cookie&#xff09;2、用户要访问攻击者发的恶意url链接才行 三、CSRF漏洞复现&#xff08;pikachu靶场&#xff09;1、CSRF&#xff08;get&#xff09;2、CSRF&…