iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java如何实现ArrayList排序
  • 863
分享到

Java如何实现ArrayList排序

2023-06-30 15:06:27 863人浏览 安东尼
摘要

这篇文章主要介绍“Java如何实现ArrayList排序”,在日常操作中,相信很多人在Java如何实现ArrayList排序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java如何实现ArrayList排序

这篇文章主要介绍“Java如何实现ArrayList排序”,在日常操作中,相信很多人在Java如何实现ArrayList排序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java如何实现ArrayList排序”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

简介

说明

本文用示例介绍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排序”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Java如何实现ArrayList排序

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

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

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

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

下载Word文档
猜你喜欢
  • Java如何实现ArrayList排序
    这篇文章主要介绍“Java如何实现ArrayList排序”,在日常操作中,相信很多人在Java如何实现ArrayList排序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java如何实现ArrayList排序...
    99+
    2023-06-30
  • Java中arraylist排序怎么实现
    Java中可以使用Collections.sort()方法对ArrayList进行排序,具体实现步骤如下:1. 首先导入java.u...
    99+
    2023-09-14
    Java arraylist
  • Java实现ArrayList排序的方法详解
    目录简介法1:JDK8的stream法2:Comparator#compare()法3:Comparable#compareTo()简介 说明 本文用示例介绍Java的ArrayLi...
    99+
    2022-11-13
  • Java中怎么对 ArrayList排序
    本篇文章给大家分享的是有关Java中怎么对 ArrayList排序,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。排序字符串对象的 ArrayList考虑一个 ArrayList...
    99+
    2023-06-17
  • java如何对arraylist中元素进行排序
    这篇文章主要介绍了java如何对arraylist中元素进行排序,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。rrayList中的元素进行排序,主要考查的是对util包中的C...
    99+
    2023-05-30
    java arraylist
  • java中ArrayList的两种排序方法实例
    目录前言1.ArrayList使用排序的初衷2.对一个ArrayList中的数组进行排序。3.多个ArrayList中的元素进行排序总结前言 由于其功能性和灵活性,ArrayList...
    99+
    2022-11-12
  • java中如何对arrayList按数字大小逆序排序
    目录对arrayList按数字大小逆序排序arrayList实现自定义排序ArrayList排序使用原理分析总结对arrayList按数字大小逆序排序 对集合排序要用Collecti...
    99+
    2023-05-15
    java arrayList arrayList数字大小逆序排序 arrayList逆序排序
  • java中ArrayList的排序方法有哪些
    在Java中,ArrayList类提供了多种排序方法,可以根据不同的需求选择适合的排序方法。以下是常用的ArrayList排序方法:...
    99+
    2023-08-17
    java ArrayList
  • 如何使用Comparator比较接口实现ArrayList集合排序
    目录使用Comparator比较接口实现排序Comparator接口定义如下我们定义一个“person”类创建按年龄排序的比较器实现Comparator接口使...
    99+
    2022-12-26
    使用Comparator比较接口 ArrayList集合排序 Comparator ArrayList集合排序
  • Java排序算法之堆排序如何实现
    这篇文章主要介绍了Java排序算法之堆排序如何实现,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性︰1.父结点的键值总...
    99+
    2023-06-21
  • Java如何实现HashMap排序
    这篇文章主要介绍了Java如何实现HashMap排序的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java如何实现HashMap排序文章都会有所收获,下面我们一起来看看吧。排序已有数据按key排序使用strea...
    99+
    2023-06-30
  • Java排序算法之计数排序如何实现
    这篇文章主要为大家展示了“Java排序算法之计数排序如何实现”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java排序算法之计数排序如何实现”这篇文章吧。计数排序是非比较的排序算法,用辅助数组对...
    99+
    2023-06-21
  • Java如何实现冒泡排序与选择排序
    小编给大家分享一下Java如何实现冒泡排序与选择排序,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一.冒泡排序1.概念冒泡排序这种排序方法其实关键词就在于冒泡两个...
    99+
    2023-06-22
  • java中怎么对arrayList按数字大小逆序排序
    这篇文章主要介绍“java中怎么对arrayList按数字大小逆序排序”,在日常操作中,相信很多人在java中怎么对arrayList按数字大小逆序排序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java中...
    99+
    2023-07-06
  • java如何实现数组排序
    这篇文章主要为大家展示了“java如何实现数组排序”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“java如何实现数组排序”这篇文章吧。数组排序(冒泡排序)public class&nb...
    99+
    2023-06-27
  • java集合排序如何实现
    Java集合的排序可以通过以下几种方式实现: 使用Collections.sort()方法:对List集合进行排序时,可以使用Co...
    99+
    2023-10-26
    java
  • Java如何实现拓扑排序
    今天小编给大家分享一下Java如何实现拓扑排序的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。铺垫有向图:我们这节要讲的算法涉...
    99+
    2023-06-30
  • Java冒泡排序如何实现
    这篇文章主要为大家展示了“Java冒泡排序如何实现”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java冒泡排序如何实现”这篇文章吧。算法描述:对于给定的n个记录,从第一个记录开始依次对相邻的两...
    99+
    2023-05-30
    java
  • java中如何实现快速排序
    下面由java入门学习栏目为大家介绍java中如何实现快速排序,希望这种算法排序可以帮助到大家!快速排序的时间复杂度并不固定,如果在最坏情况下(在一个原本逆向排序的数列中选择第一个元素为基准元素)速度比较慢,达到 O(n^2)(和选择排序一...
    99+
    2018-05-13
    java基础 java 快速排序 实现
  • Java如何实现简单的排序
    这篇文章主要介绍Java如何实现简单的排序,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!排序是数据处理中十分常见且核心的操作,虽说实际项目开发中很小几率会需要我们手动实现,毕竟每种语言的类库中都有n多种关于排序算法的...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作