java的list集合排序自定义元素方式

 更新时间:2024年12月14日 10:36:38   作者:无足鸟丶  
在Java中,对包含自定义元素的List集合进行排序可以使用Collections.sort()方法,并结合自定义的比较器实现,以Student类为例,通过实现Comparator接口来按学生年龄升序排序

java的list集合排序自定义元素

在 Java 中,可以对包含自定义元素的List集合进行排序。

通常可以使用Collections.sort()方法结合自定义的比较器来实现。

一、定义包含自定义元素的类

假设我们有一个表示学生的类Student:

class Student {
    private int id;
    private String name;
    private int age;

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

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

二、使用Collections.sort()进行排序

按学生年龄升序排序:

import java.util.ArrayList;
import java.util.List;

public class ListSortCustomElementsExample {
    public static void main(String[] args) {
        List<Student> students = new ArrayList<>();
        students.add(new Student(1, "Alice", 20));
        students.add(new Student(2, "Bob", 18));
        students.add(new Student(3, "Charlie", 22));
        students.add(new Student(4, "Charlie", 30));
        students.add(new Student(5, "Charlie", 12));

        students.sort((s1, s2) -> s1.getAge() - s2.getAge());

        for (Student student : students) {
            System.out.println(student);
        }
    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • mybatis-plus自带QueryWrapper自定义sql实现复杂查询实例详解

    mybatis-plus自带QueryWrapper自定义sql实现复杂查询实例详解

    MyBatis-Plus是一个MyBatis(opens new window)的增强工具,在 MyBatis的基础上只做增强不做改变,MyBatis可以无损升级为MyBatis-Plus,这篇文章主要给大家介绍了关于mybatis-plus自带QueryWrapper自定义sql实现复杂查询的相关资料,需要的朋友可以参考下
    2022-10-10
  • Java多线程之并发编程的核心AQS详解

    Java多线程之并发编程的核心AQS详解

    AQS ( AbstractQueuedSynchronizer)是一个用来构建锁和同步器的框架,使用AQS能简单且高效地构造出应用广泛的大量的同步器,下面小编和大家来一起学习一下吧
    2021-09-09
  • IDEA配置JavaFX全过程

    IDEA配置JavaFX全过程

    从Java11起,Java不再内置JavaFX,在Java17项目中,需手动配置开发环境,添加JavaFX库路径,并设置运行参数指向本地路径
    2025-09-09
  • Java遍历读取Excel固定的单元格实现方式

    Java遍历读取Excel固定的单元格实现方式

    使用ApachePOI读取Excel需先添加依赖,再编写核心代码处理数据,如图所示,总结个人经验,供参考并支持脚本之家
    2025-09-09
  • Java数据结构之KMP算法详解以及代码实现

    Java数据结构之KMP算法详解以及代码实现

    KMP算法是一种改进的字符串匹配算法,核心是利用之前的匹配失败时留下的信息,选择最长匹配长度直接滑动,从而减少匹配次数。本文主要介绍了KMP算法的原理与实现,需要的可以参考一下
    2022-12-12
  • hashset去除重复值原理实例解析

    hashset去除重复值原理实例解析

    这篇文章主要介绍了hashset去除重复值原理实例解析,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • 史上最难的一道Java面试题

    史上最难的一道Java面试题

    本文给大家分享一道史上最难的一道Java面试题,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2018-03-03
  • Java滚动数组计算编辑距离操作示例

    Java滚动数组计算编辑距离操作示例

    这篇文章主要介绍了Java滚动数组计算编辑距离操作,涉及java字符串与数组的遍历、计算、转换等相关操作技巧,需要的朋友可以参考下
    2019-12-12
  • SpringBoot应用程序启动监听功能的常见方法

    SpringBoot应用程序启动监听功能的常见方法

    应用启动监听在 Spring Boot 和其他框架中扮演着重要的角色,它们的主要作用是在应用启动或关闭时触发特定的操作或任务,本文给大家介绍了SpringBoot应用程序启动监听功能的常见方法,需要的朋友可以参考下
    2024-05-05
  • IDEA提示`SQL dialect is not configured`的问题分析及解决方案

    IDEA提示`SQL dialect is not configured`的问题

    在Java开发中,尤其是使用IntelliJ IDEA或MyBatis等框架时,开发者常会遇到 SQL dialect is not configured 的警告或错误,这一问题不仅影响代码的高亮和智能提示功能,还可能导致表结构解析失败、语法校验失效等问题,需要的朋友可以参考下
    2025-06-06

最新评论