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());

    }

}

}

相关文章
|
1月前
|
设计模式 网络协议 数据可视化
Java 设计模式之状态模式:让对象的行为随状态优雅变化
状态模式通过封装对象的状态,使行为随状态变化而改变。以订单为例,将待支付、已支付等状态独立成类,消除冗长条件判断,提升代码可维护性与扩展性,适用于状态多、转换复杂的场景。
259 0
|
2月前
|
Java 大数据 API
Java Stream API:现代集合处理与函数式编程
Java Stream API:现代集合处理与函数式编程
237 100
|
2月前
|
Java API 数据处理
Java Stream API:现代集合处理新方式
Java Stream API:现代集合处理新方式
267 101
|
2月前
|
算法 Java
50道java集合面试题
50道 java 集合面试题
|
1月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
86 4
|
1月前
|
存储 算法 安全
Java集合框架:理解类型多样性与限制
总之,在 Java 题材中正确地应对多样化与约束条件要求开发人员深入理解面向对象原则、范式编程思想以及JVM工作机理等核心知识点。通过精心设计与周密规划能够有效地利用 Java 高级特征打造出既健壮又灵活易维护系统软件产品。
76 7
|
2月前
|
存储 Java Go
对比Java学习Go——函数、集合和OOP
Go语言的函数支持声明与调用,具备多返回值、命名返回值等特性,结合`func`关键字与类型后置语法,使函数定义简洁直观。函数可作为一等公民传递、赋值或作为参数,支持匿名函数与闭包。Go通过组合与接口实现面向对象编程,结构体定义数据,方法定义行为,接口实现多态,体现了Go语言的简洁与高效设计。
|
2月前
|
缓存 Java 开发者
Java 开发者必看!ArrayList 和 LinkedList 的性能厮杀:选错一次,代码慢成蜗牛
本文深入解析了 Java 中 ArrayList 和 LinkedList 的性能差异,揭示了它们在不同操作下的表现。通过对比随机访问、插入、删除等操作的效率,指出 ArrayList 在多数场景下更高效,而 LinkedList 仅在特定情况下表现优异。文章强调选择合适容器对程序性能的重要性,并提供了实用的选择法则。
184 3
|
3月前
|
缓存 安全 Java
Java反射机制:动态操作类与对象
Java反射机制是运行时动态操作类与对象的强大工具,支持获取类信息、动态创建实例、调用方法、访问字段等。它在框架开发、依赖注入、动态代理等方面有广泛应用,但也存在性能开销和安全风险。本文详解反射核心API、实战案例及性能优化策略,助你掌握Java动态编程精髓。
|
3月前
|
存储 NoSQL Java
Java Stream API:集合操作与并行处理
Stream API 是 Java 8 提供的集合处理工具,通过声明式编程简化数据操作。它支持链式调用、延迟执行和并行处理,能够高效实现过滤、转换、聚合等操作,提升代码可读性和性能。
下一篇
oss云网关配置