对ArrayList容器中的数据进行排序
发布日期:2021-06-28 13:57:11
浏览次数:4
分类:技术文章
本文共 1520 字,大约阅读时间需要 5 分钟。
案例介绍
>ArrayList中存储多个person对象(包括name、age、id)要求按年龄从小到大排序,年龄相等的话按名字的大小排序输出
案例设计
>使用ArrayList来存储person对象
>使用Collections类提供的静态Sort方法来排序,最终输出排序好的结果
import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class Dem03 { public static void main(String[] args) { Listdata = new ArrayList<>(); data.add(new Person("jack",18,10)); data.add(new Person("jay",20,5)); data.add(new Person("lucy",15,8)); data.add(new Person("rose",21,1)); data.add(new Person("pete",15,12)); /** * 根据指定比较器产生的顺序对指定列表进行排序 */ Collections.sort(data, new Comparator () { public int compare(Person o1, Person o2) { if(o1.getAge() - o2.getAge()>0) { return 1; }else if(o1.getAge() - o2.getAge()<0) { return -1; }else { return o1.getName().compareTo(o2.getName());//如果年龄相同则通过名字排序,通过调用compareTo按名字字典排序 } } }); /** * 通过增加for循环输出 */ for(Person p:data) { System.out.println(p); } } }class Person{ private String name; private int age; private int id; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getId() { return id; } public void setId(int id) { this.id = id; } public Person(String name, int age, int id) { super(); this.name = name; this.age = age; this.id = id; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + ", id=" + id + "]"; } }
转载地址:https://blog.csdn.net/wyf2017/article/details/80217924 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月10日 12时51分25秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
图的基础(C++)
2019-04-28
SAP用户增强总结-采购订单建立增加客户数据增强示例
2019-04-28
journal of neuroscience:面孔的神经表征与眼动模式相协调
2019-04-28
The Neuroscientist:运动性脑震荡的长期影响
2019-04-28
机器学习实战学习笔记一
2019-04-28
【vn.py】 策略实盘自动交易
2019-04-28
仿牛客社区项目2.5登录模块———登录退出功能
2019-04-28
LeetCode 190. 颠倒二进制位
2019-04-29
LeetCode 268. 丢失的数字
2019-04-29
LeetCode 231. 2 的幂
2019-04-29
[经典排序算法][集锦]
2019-04-29
无处不在的二分查找
2019-04-29
Java集合框架List,Map,Set等全面介绍
2019-04-29
Java 泛型(二) 泛型之中的通配符(Wildcards)使用
2019-04-29
7-36 复数四则运算 (15 分)
2019-04-29
基于powershell的渗透测试工具nishang
2019-04-29
Linux免密码登录设置
2019-04-29
JVM命令使用演示
2019-04-29
面试中并发类问题的准备和学习
2019-04-29