java 实现List对象中按某种方式进行排序

Java的List集合对象插入排序 需求背景,在一个循环里,每次循环出一个对象,将这个对象存放到另一个集合中,且另一个集合需要根据对象的某个属性的大小进行排序。 类似如下的集合 //RelateCountMatrixEntity对象,属性如下 private String xAxis; private String yAxis; private Integer count; private double relateScore; //RelateCountMatrixEntity对象集合 List<RelateCountMatrixEn 阅读详情

需求:对集合中的数据按某种方式进行排序输出,比如集合中存储的对象是Person,现在按person的年龄从大到小输出,首先使用List集合进行存储,在java中如果要进行对对象进行比较的话,则实现Comparable接口,现在看看Comparable接口文档中怎么描述

接口 Comparable<T> 
类型参数:
T - 可以与此对象进行比较的那些对象的类型

实现Comparable接口必须实现CompareTo(T o)

比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。

现在进行代码测试
Person.java
public class Person implements Comparable<Person>{
	private int age;
	private String name;
	
	public int getAge() {
		return age;
	}


	public void setAge(int age) {
		this.age = age;
	}


	public String getName() {
		return name;
	}


	public void setName(String name) {
		this.name = name;
	}


	public Person(int age, String name) {
		super();
		this.age = age;
		this.name = name;
	}


	@Override
	public int compareTo(Person o) {
		
		if(this.age>o.age){
			return 1;
		}else if(this.age<o.age){
			return -1;
		}
		return 0;
	}
}

PersonTest.java
public class PersonTest {
	public static void main(String[] args) {
		Person p1 = new Person(24,"zhangsan");
		Person p2 = new Person(25,"zhangsan1");
		Person p3 = new Person(23,"zhangsan2");
		Person p4 = new Person(22,"zhangsan3");
		
		List<Person> persons = new ArrayList<Person>();
		
		persons.add(p2);
		persons.add(p1);
		persons.add(p4);
		persons.add(p3);
		for(int i=0;i<persons.size();i++){
			Person p = persons.get(i);
			System.out.println(p.getName()+"::::::"+p.getAge());
		}
	}
}

打印结果:
zhangsan1::::::25
zhangsan::::::24
zhangsan3::::::22
zhangsan2::::::23
通过打印的结果发现集合中的数据并没有按照年龄进行排序,那是因为List集合内部并没有实现排序,如果还要按年龄输出,必须对集合进行排序

Collections.sort(list);

则可以实现

如果使用TreeSet集合就可以对他进行排序,因为TreeSet集合内部实现了对对象的排序













如何对List集合中的对象进行按某个属性排序 如何对List集合中的对象进行按某个属性排序问题描述普通的字符串集合的排序对象集合的排序如下所示实现对集合中的对象进行排序的方式1实现对集合中的对象进行排序的方式2 问题描述 在实际的工作开发中,我们经常会遇到需要对list集合中的某个对象的某个属性进行排序的操作,如果手工判断,步骤较为麻烦,所以在此处小编将会介绍集合中排序的方法。 普通的字符串集合的排序 排序方式以及排序的结果如下图所示: 排... 阅读详情

相关推荐

List对象排序通用方法

List对象排序通用方法,支持正序和倒序,按指定参数排序

【java强化】java对list进行指定排序

1.java传统表示方式 1.1 对List进行排序 @Test public void Test1() { List<Integer> list = new ArrayList<Integer>(); list.add(new Integer(5)); list.add(new Integer(13)); list.add(new Integer(4)); list.add(new Int

最爱吃大米的博客 4606

java实现并有GUI界面的GSP算法

GSP的java实现,有图形界面。有源码和实验数据。

【Java】一个List按照另一个List的数据顺序来排序

一个List按照另一个List的数据顺序来排序

杨幂等 9758

java-gui(界面组件案例大全)(内含139个完整Demo)

java-gui(界面组件案例大全)(内含139个完整Demo) 来源于Oracle官网(原Sun网站)采集得到的java界面编程案例共139个,希望对学习java-gui的童鞋有所帮助 我们的网址是anttribe.org Ant tribe(蚁族)

西门子【Automation Framework V1.2】AF架构:从软件栈到高效自动化项目的构建蓝图

本文深入解析西门子Automation Framework V1.2 (AF架构) 的核心价值与实施蓝图。该框架通过定义标准化的软件栈(如TIA Portal V19、STEP7、WinCC Unified)和严格的安装配置流程,将自动化项目开发从依赖个人经验的“手工作坊”模式,转变为高效、可复制的工业化模式。遵循此架构,工程师能快速构建稳定可靠的项目基础,规避环境冲突,从而专注于核心工艺与逻辑设计,大幅提升团队协作与项目交付效率。

weixin_29230059的博客 428

Java 两个List按照其中一个List元素顺序对另一个List元素进行排序

根据orderList顺序排序,orderList不存在的元素放置在targetList最后面 // 根据orderList顺序排序,orderList不存在的元素放置在targetList最后面 private static void sort1(List<String> targetList, List<String> orderList) { targetList.sort(((o1, o2) -> { int .

w_shimmer的博客 4337

TCP/IP协议栈之LwIP(三)---网际寻址与路由(IPv4 + ARP + IPv6)

一、网际寻址原理 当网络设备地址总数并不是很多的情况下,有了唯一地址(比如MAC地址)就可以定位相互通信的主体。然而,当地址总数越来越多时,如何高效地从中找出通信的目标地址将成为一个重要的问题。为此人们发现地址除了具有唯一性还需要具有层次性。MAC地址虽然具有唯一性,但没有层次性,也即当网络设备增加到一定程度,需要将网络分成多个数据链路时,MAC地址无法跨链路寻址,是真正负责最终通信的地址。要实现跨局域网的网际寻址,就要靠具有层次性的网络IP地址实现了。

流云 6818

java关于集合自定义排序:根据一个集合的list的顺序排另外一个集合的顺序

java关于集合自定义排序:根据一个集合的list的顺序排另外一个集合的顺序

nanshengabc的博客 3466

飞牛NAS挂载115网盘避坑指南:为什么你的大文件总是传输失败?

本文深入解析了在飞牛NAS上通过AList挂载115网盘时,大文件传输失败的深层原因,包括风控机制、网络协议及兼容性问题。文章提供了从基础排查到高阶优化的系统性解决方案,并建议采用Kopia分片备份等终极策略,以实现稳定可靠的云端数据流转。

weixin_29306011的博客 1681

ADS2023实战:2.4GHz超外差接收机从设计到链路预算全流程解析

本文以ADS 2023软件为平台,详细解析了2.4GHz超外差接收机从核心指标定义、架构原理到完整链路搭建与仿真的全流程。通过实战演练,重点阐述了如何利用ADS进行谐波平衡仿真和链路预算分析,以量化评估系统增益、噪声系数等关键性能,为射频工程师提供了一套从理论到仿真的系统级设计方法。

herb5的博客 816

Java 中 List 排序的 3 种方法

本文介绍了 3 种 List 排序的方法,前两种方法常用于 JDK 8 之前的版本,其中比较器 Comparator 有两种实现的写法,而在 JDK 8 之后的版本,就可以使用 Comparator.comparing 实现排序了,如果排序字段中可能出现 null 值,要使用 Comparator.nullsXXX 进行排序处理(否则会报错)。

一个双子座的Java攻城狮 6106

华为S5720交换机堆叠配置

S5720交换机,做下堆叠,两条线,交叉互联(即A交换机23口连到B交换机24口,A交换机24口连接B交换机23口)。PS:S5720堆叠可基于电口或者光口做,本次测试基于电口。 SWA配置 # 改名 [Huawei]sysname SWA # 最好先shutdown接口 [SWA]interface GigabitEthernet 0/0/23 [SWA-GigabitEthernet0/0/23]shutdown [SWA-GigabitEthernet0/0/23]interface G.

Markdown 6340

List集合的各种排序

在Java编程中,经常要对List集合进行排序,因此对List排序的各种情况进行总结,希望对各位读者有所帮助。 1.单属性变量List排序 1.1按照变量属性升序,降序排序 /** * 单属性变量list 自身属性升序, 降序排序 */ private void singleVariableSort1(){ List&lt;Integer&gt; list...

yuanfang0907的博客 11万+

YOLO26 多任务统一架构:检测 / 分割 / 姿态 / OBB 设计

YOLO26提出了一种多任务统一架构,整合了目标检测、实例分割、姿态估计和旋转框检测(OBB)四大计算机视觉任务。该架构采用共享Backbone和Neck的设计,配合轻量级任务特定Head,解决了传统方法中多模型并行带来的高开发成本、大内存占用和低推理效率问题。核心设计包括:1)共享特征提取层实现参数复用;2)模块化Head结构支持灵活任务组合;3)统一接口实现单模型多任务处理。实验表明,该架构在保持各任务性能的同时显著提升了系统效率,为多任务视觉系统提供了新的实现范式。

一键难忘的博客 699

YOLOv13|损失函数优化篇:Focal EIOU 保持良好性能的同时,提供更高效的计算和更稳定的训练过程-包源码

Focal IoU与EIoU:目标检测中的损失函数优化 摘要:本文深入探讨了目标检测中两种重要的边界框回归损失函数优化方法。Focal IoU借鉴Focal Loss思想,通过(1-IoU)^γ因子调节损失权重,使模型更关注难样本(低IoU预测框),有效解决了传统IoU Loss对难易样本权重相同的问题。EIoU则在CIoU基础上改进,通过简化长宽比计算、分离宽高损失项,提升了计算效率和训练稳定性。两种方法分别从样本权重分配和损失函数结构优化角度,显著提升了目标检测性能,为实际应用提供了更高效的解决方案。文

FJN110的博客 1864

List对象进行排序

用空间换时间,Java在内存中进行对象集合排序。

Lin_Miao_09的博客 4102

输入文件(Example-1.inp)参数解读与获取方法

弹性参数:优先使用默认值(泊松比 0.25、杨氏模量 8×10⁵ bars),或参考区域地质 / 地球物理研究。断层参数:从地震矩反演、GPS 位移反演、地质图 / 震源机制获取(核心参数,需确保准确性)。网格 / 图形参数:根据研究区范围和输出需求调整(步长 / 放大系数等)。

2301_79258000的博客 81

Java之List集合三种排序方式

Java之List集合三种排序方式方式一(Integer类型集合排序)方式二(对象类型集合排序)方式三(同样是对象类型集合排序 ) 方式一(Integer类型集合排序) public static void main(String[] args) { List<Integer> nums = new ArrayList<Integer>(); nums.add(3); nums.add(5); nums.add(1); nums.add(0); System.out.pr

ZwLemon 4180

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Java 对象List集合排序的5种方式

目标明确 排序对象类,按照学生年龄进行排序,使用Collections集合工具类实现排序 public class Student{ private String name; private Integer age; public Student(String name, Integer age) { this.name = name; ...

java.util.Man的博客 3212

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

java8对List对象排序

工作中遇到的问题:获得List对象,需要根据对象中的CreateTime来排序 分两个版本 java8: List<CountCardDetailVo> all = new ArrayList<>(); //根据创建时间降序排序 all.sort(Comparator.comparing(CountCardDetailVo::getCreateTime).reverse...

weixin_44073321的博客 2万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Java的List排序

开发工具与关键技术:MyEclipse 10、Java语法 作者:邓婵 撰写时间:2019年6 月 5日 集合和数组的不同点: 数组:只能存储固定大小同一类型的元素。数组元素可以是基本数据类型的值,也可以是对象。 集合:可用于存储数量不等的对象,并可以实现常用的数据结构。还可以保存具有映射关系的关联数组。而集合只能保存对象。 Collection和map属于同一系统集合,list接口和set接口继...

weixin_44547786的博客 4万+

java list对象排序_Java 对象集合List排序的5种方式

目标明确排序对象类public class Student{private String name;private Integer age;public Student(String name, Integer age) {this.name = name;this.age = age;}public Student() {}@Overridepublic String toString() {r...

weixin_42332123的博客 7174

java-对象List集合排序方式

对象排序有两种方式实现: 第一种: 实体类中实现Comparable接口,重写compareTo()方法,返回比较的值即可,这一种不常用,不灵活。 第二种: package controllers.admin; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; impo...

qq_38529889的博客 1361

Java List排序的几种方式整理

在有的时候我们会需要对List进行排序,在Java中如何实现呢?本文记录一下Java中对List的几种排序方式,希望本文对你有所帮助。

Wjhsmart的博客 1万+
上一篇: android listview优化
下一篇: android listview异步加载图片问题分析解决方案
zhoushenxian
博客等级 码龄12年 453粉丝 549原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值