ArrayList集合储存对象并排序(Java)

简介: ArrayList集合储存对象并排序(Java)

ArrayList集合储存对象并排序(Java)

存储一个学生类并输出(年龄相同时比较姓名):

Student:

public class Student {

private int ege;
private String name;

public Student(int ege, String name) {
    this.ege = ege;
    this.name = name;
}

public int getEge() {
    return ege;
}

public void setEge(int ege) {
    this.ege = ege;
}

public String getName() {
    return name;
}

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

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
StudentDemo:

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class StudentDemo {

public static void main(String[] args) {
    ArrayList<Student> arrayList = new ArrayList<>();
    Student a = new Student(11,"诸葛亮");
    Student b = new Student(12,"刘备");
    Student c = new Student(18,"孙权");
    Student d = new Student(13,"孙策");
    arrayList.add(a);

    arrayList.add(b);
    arrayList.add(c);
    arrayList.add(d);
    Collections.sort(arrayList, new Comparator<Student>() {
        @Override
        public int compare(Student o1, Student o2) {
            int num = o1.getEge() - o2.getEge();
            int num1=num==0?o1.getName().compareTo(o2.getName()):num;
            return num1;

        }
    });
    for (Student s:arrayList
         ) {
        System.out.println("年龄"+s.getEge()+" , "+"姓名"+s.getName());

    }

}

}

相关文章
|
4天前
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
|
3天前
|
Java API
|
4天前
|
缓存 前端开发 Java
【前端学java】复习巩固-Java中的对象比较(15)
【8月更文挑战第11天】Java中的对象比较
14 1
【前端学java】复习巩固-Java中的对象比较(15)
|
1天前
|
SQL Java Apache
实时计算 Flink版操作报错合集之使用parquet时,怎么解决报错:无法访问到java.uti.Arrays$ArrayList类的私有字段
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
3天前
|
Java API 开发者
|
2天前
|
存储 设计模式 Java
在 Java 中创建多个对象
【8月更文挑战第17天】
6 0
|
4天前
|
Java Spring 容器
Java SpringBoot 中,动态执行 bean 对象中的方法
Java SpringBoot 中,动态执行 bean 对象中的方法
14 0
|
4天前
|
Java
Java Bean 注册对象
Java Bean 注册对象
6 0
|
6天前
|
Java 开发者
奇迹时刻!探索 Java 多线程的奇幻之旅:Thread 类和 Runnable 接口的惊人对决
【8月更文挑战第13天】Java的多线程特性能显著提升程序性能与响应性。本文通过示例代码详细解析了两种核心实现方式:Thread类与Runnable接口。Thread类适用于简单场景,直接定义线程行为;Runnable接口则更适合复杂的项目结构,尤其在需要继承其他类时,能保持代码的清晰与模块化。理解两者差异有助于开发者在实际应用中做出合理选择,构建高效稳定的多线程程序。
27 7
|
5天前
|
安全 Java 数据库
一天十道Java面试题----第四天(线程池复用的原理------>spring事务的实现方式原理以及隔离级别)
这篇文章是关于Java面试题的笔记,涵盖了线程池复用原理、Spring框架基础、AOP和IOC概念、Bean生命周期和作用域、单例Bean的线程安全性、Spring中使用的设计模式、以及Spring事务的实现方式和隔离级别等知识点。