对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) {		List
data = 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:使用HashMap统计字符出现的次数
下一篇:异常---医生给工作者看病

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月10日 12时51分25秒