广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java实现ArrayList排序的方法详解
  • 421
分享到

Java实现ArrayList排序的方法详解

2024-04-02 19:04:59 421人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录简介法1:jdk8的stream法2:Comparator#compare()法3:Comparable#compareTo()简介 说明 本文用示例介绍Java的ArrayLi

简介

说明

本文用示例介绍Java的ArrayList排序的方法。

List排序方法

主要有三种方法(按推荐度排序):

  • JDK8的stream
  • Comparator#compare()
  • Comparable#compareTo()

法1:JDK8的stream

见:一文详解Java中Stream流的使用

法2:Comparator#compare()

需求:用户有成绩和年龄。按成绩排序,若成绩相同,则按年龄排序。

package org.example.a;
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
 
 
class User{
 
    private int score;
 
    private int age;
 
    public User(int score, int age){
        super();
        this.score = score;
        this.age = age;
    }
 
    public int getScore() {
        return score;
    }
 
    public void setScore(int score) {
        this.score = score;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
 
}
 
 
public class Demo {
    public static void main(String[] args) {
        List<User> users = new ArrayList<User>();
        users.add(new User(95, 26));
        users.add(new User(84, 23));
        users.add(new User(96, 25));
        users.add(new User(95, 24));
        Collections.sort(users, new Comparator<User>() {
            @Override
            public int compare(User o1, User o2) {
                int i = o2.getScore() - o1.getScore();
                if(i == 0){
                    return o1.getAge() - o2.getAge();
                }
                return i;
            }
        });
        for(User user : users){
            System.out.println(user.getScore() + "," + user.getAge());
        }
    }
 
}

执行结果

96,25
95,24
95,26
84,23

法3:Comparable#compareTo()

默认按增序排序:

package org.example.a;
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
 
public class Demo {
    public static void main(String[] args) {
        List<Integer> nums = new ArrayList<Integer>();
        nums.add(3);
        nums.add(5);
        nums.add(1);
        nums.add(0);
        System.out.println(nums);
        Collections.sort(nums);
        System.out.println(nums);
    }
 
}

执行结果:

[3, 5, 1, 0]
[0, 1, 3, 5]

需求:用户有成绩和年龄。按成绩降序排序,若成绩相同,则按年龄正序排序。

package org.example.a;
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
 
 
class User implements Comparable<User>{
 
    private int score;
 
    private int age;
 
    public User(int score, int age){
        super();
        this.score = score;
        this.age = age;
    }
 
    public int getScore() {
        return score;
    }
 
    public void setScore(int score) {
        this.score = score;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
 
    @Override
    public int compareTo(User o) {
        int i = o.getScore() - this.getScore();
        if(i == 0){
            return this.getAge() - o.getAge();
        }
        return i;
    }
}
 
 
public class Demo {
    public static void main(String[] args) {
        List<User> users = new ArrayList<User>();
        users.add(new User(95, 26));
        users.add(new User(84, 23));
        users.add(new User(96, 25));
        users.add(new User(95, 24));
        Collections.sort(users);
        for(User user : users){
            System.out.println(user.getScore() + "," + user.getAge());
        }
    }
 
}

执行结果

96,25
95,24
95,26
84,23

到此这篇关于Java实现ArrayList排序的方法详解的文章就介绍到这了,更多相关Java ArrayList排序内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java实现ArrayList排序的方法详解

本文链接: https://www.lsjlt.com/news/149615.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java实现ArrayList排序的方法详解
    目录简介法1:JDK8的stream法2:Comparator#compare()法3:Comparable#compareTo()简介 说明 本文用示例介绍Java的ArrayLi...
    99+
    2022-11-13
  • java中ArrayList的两种排序方法实例
    目录前言1.ArrayList使用排序的初衷2.对一个ArrayList中的数组进行排序。3.多个ArrayList中的元素进行排序总结前言 由于其功能性和灵活性,ArrayList...
    99+
    2022-11-12
  • Java如何实现ArrayList排序
    这篇文章主要介绍“Java如何实现ArrayList排序”,在日常操作中,相信很多人在Java如何实现ArrayList排序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java如何实现ArrayList排序...
    99+
    2023-06-30
  • java中ArrayList的排序方法有哪些
    在Java中,ArrayList类提供了多种排序方法,可以根据不同的需求选择适合的排序方法。以下是常用的ArrayList排序方法:...
    99+
    2023-08-17
    java ArrayList
  • Java中arraylist排序怎么实现
    Java中可以使用Collections.sort()方法对ArrayList进行排序,具体实现步骤如下:1. 首先导入java.u...
    99+
    2023-09-14
    Java arraylist
  • Java实现HashMap排序方法的示例详解
    目录简介排序已有数据按key排序按value排序按插入顺序存放HashMap不按插入顺序存放LinkedHashMap会按照插入顺序存放简介 本文用示例介绍HashMap排序的方法。...
    99+
    2022-11-13
  • Java中ArrayList的removeAll方法详解
    本文介绍的是关于Java中ArrayList的removeAll方法的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:在开发过程中,遇到一个情况,就是从所有骑手Id中过滤没有标签的骑手Id(直接查询没有标签的骑手不容易实现),L...
    99+
    2023-05-31
    java arraylist removeall
  • Python实现堆排序的方法详解
    本文实例讲述了Python实现堆排序的方法。分享给大家供大家参考,具体如下: 堆排序作是基本排序方法的一种,类似于合并排序而不像插入排序,它的运行时间为O(nlogn),像插入排序而不像合并排序,它是一种原...
    99+
    2022-06-04
    详解 方法 Python
  • 详解Java实现拓扑排序算法
    目录一、介绍二、拓扑排序算法分析三、拓扑排序代码实现一、介绍 百科上这么定义的: 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中...
    99+
    2022-11-12
  • JavaScript实现拖拽排序的方法详解
    目录实现原理概述代码实现完整代码实现可拖拽排序的菜单效果大家想必都很熟悉,本次我们通过一个可拖拽排序的九宫格案例来演示其实现原理。 先看一下完成效果: 实现原理概述 拖拽原理 当鼠...
    99+
    2022-11-13
  • Java实现自定义Excel数据排序的方法详解
    目录1.引入jar包2.自定义排序通常,我们可以在Excel中对指定列数据执行升序或者降序排序,排序时可依据单元格中的数值、单元格颜色、字体颜色或图标等。在需要自定义排序情况下,我们...
    99+
    2022-11-13
  • php实现归并排序算法的方法详解
    目录php实现归并排序算法归并排序原理总结php实现归并排序算法 归并排序算法的复杂度是O(nlogn)。 代码如下,只需要clone下来执行composer install然后执行...
    99+
    2022-11-13
  • Java 归并排序算法、堆排序算法实例详解
    基本思想:  归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。归并排序示例:合并方法:设r[i…n]由两个有序子表r[i…m...
    99+
    2023-05-31
    java 归并排序 堆排序
  • java数据结构与算法之桶排序实现方法详解
    本文实例讲述了java数据结构与算法之桶排序实现方法。分享给大家供大家参考,具体如下:基本思想:假定输入是由一个随机过程产生的[0, M)区间上均匀分布的实数。将区间[0, M)划分为n个大小相等的子区间(桶),将n个输入元素分配到这些桶中...
    99+
    2023-05-31
    java 数据结构 算法
  • java排序算法之选择排序详解
    本文实例为大家分享了java排序算法之选择排序的具体代码,供大家参考,具体内容如下 选择排序 选择排序的思路是这样的:首先,找到数组中最小的元素,拎出来,将它和数组的第一个元素交换位...
    99+
    2022-11-12
  • Java超详细讲解ArrayList与顺序表的用法
    目录简要介绍Arraylist容器类的使用Arraylist容器类的构造ArrayList的常见方法ArrayList的遍历ArrayList中的扩容机制简要介绍 顺序表是一段物理地...
    99+
    2022-11-13
  • Java中ArrayList与顺序表的定义与实现方法
    目录1、线性表定义特征2、顺序表定义实现打印数组新增元素判断是否包含某个元素查找元素获取pos位置的元素更改pos位置的值删除操作获取顺序表长度清空顺序表3、ArrayList简介:...
    99+
    2022-11-13
  • Java中ArrayList初始化的四种方法详解
    目录1 起因2 解决方案2.1 双括号法2.2 Arrays.asList2.3 stream2.4 Lists3 总结1 起因 在实际业务开发中, 我们经常会遇到需要临时创建一个数...
    99+
    2022-11-12
  • 详解如何在Java中实现堆排序算法
    目录算法描述实现代码测试代码算法描述 堆排序算法的描述如下: 将待排序的数组调整为最大堆,此时未排序的长度 N 为数组的长度,调整的过程就是倒序将数组的前&nbs...
    99+
    2022-11-13
  • JAVA十大排序算法之堆排序详解
    目录堆排序知识补充二叉树满二叉树完全二叉树二叉堆代码实现时间复杂度算法稳定性思考总结堆排序 这里的堆并不是JVM中堆栈的堆,而是一种特殊的二叉树,通常也叫作二叉堆。它具有以下特点: ...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作