返回顶部
首页 > 资讯 > 后端开发 > JAVA >【java】对ArrayList中的元素进行排序的几种方式
  • 663
分享到

【java】对ArrayList中的元素进行排序的几种方式

javaCollectionsArrayListComparable接口排序算法 2023-09-08 15:09:00 663人浏览 安东尼
摘要

对ArrayList中的元素进行排序的几种方式 一、使用Collections工具类 1、对基本类型排序 通过Collections.sort()对基本类型排序默认是以升序排序 // 1.Collec

对ArrayList中的元素进行排序的几种方式

一、使用Collections工具

1、对基本类型排序

通过Collections.sort()对基本类型排序默认是以升序排序

// 1.Collections.sort()默认按照升序排序List<Integer> integerList = new ArrayList<>();Collections.addAll(integerList,1,2,6,5,5,4,55,4,5,5,4,5,2,4,6,2,45);Collections.sort(integerList);System.out.println(integerList);

2、对字符串类型排序

对字符串类型排序默认按照首字母a-z排序

// 2.对字符串类型排序List<String> strings = new ArrayList<>();Collections.addAll(strings,"d","gsf","trh","fsd","an");Collections.sort(strings);System.out.println(strings);

3、对对象排序

如何使用Collections对对象排序呢?

在这里插入图片描述

其实只需要让我们的数据类型实现Comparable接口即可,下面定义一个实现Comparable接口的学生类,并且实现compareTo方法,让学生类只比较年龄。

public class Student implements Comparable<Student> {    private String id;    private String name;    private Integer age;    private String sex;    @Override    public String toString() {        return "Student{" +                "age=" + age +                '}';    }    public Student(Integer age) {        this.age = age;    }    public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public Integer getAge() {        return age;    }    public void setAge(Integer age) {        this.age = age;    }    public String getSex() {        return sex;    }    public void setSex(String sex) {        this.sex = sex;    }    @Override    public int compareTo(Student o) {    // 这种是升序        return this.getAge() - o.getAge();        // 这种是降序        // return o.getAge() - this.getAge();    }}

排序方法和正常使用一样,直接把整个list传入即可

// 3.对对象排序        List<Student> students = new ArrayList<>();        Collections.addAll(students,                new Student(18),                new Student(26),                new Student(20),                new Student(16),                new Student(12));        System.out.println(students);        Collections.sort(students);        System.out.println(students);

在这里插入图片描述

二、使用stream流

// 2.lambda表达式        Stream<Integer> sorted = integerList.stream().sorted();        System.out.println(Arrays.toString(sorted.toArray()));

在这里插入图片描述

三、使用排序算法(以冒泡排序为例)

// 3.直接使用排序算法(以冒泡排序为例)        for(int i = 0; i < integerList.size() - 1; i++){            for(int j = 0; j < integerList.size() - i - 1; j++){                if(integerList.get(j) > integerList.get(j + 1)){                    Integer temp = integerList.get(j);                    integerList.set(j, integerList.get(j + 1));                    integerList.set(j + 1, temp);                }            }        }        System.out.println(integerList);

在这里插入图片描述

四、测试类整体代码

import java.util.*;import java.util.stream.Stream;public class ArrayListSort {    public static void main(String[] args) {        List<Integer> integerList = new ArrayList<>();        Collections.addAll(integerList,1,2,6,5,5,4,55,4,5,5,4,5,2,4,6,2,45);        // 1.Collections.sort()默认按照升序排序        Collections.sort(integerList);        System.out.println(integerList);        // 2.对字符串类型排序        List<String> strings = new ArrayList<>();        Collections.addAll(strings,"d","gsf","trh","fsd","an");        Collections.sort(strings);        System.out.println(strings);        // 3.对对象排序        List<Student> students = new ArrayList<>();        Collections.addAll(students,                new Student(18),                new Student(26),                new Student(20),                new Student(16),                new Student(12));        System.out.println(students);        Collections.sort(students);        System.out.println(students);        // 2.lambda表达式        Stream<Integer> sorted = integerList.stream().sorted();        System.out.println(Arrays.toString(sorted.toArray()));        // 3.直接使用排序算法(以冒泡排序为例)        for(int i = 0; i < integerList.size() - 1; i++){            for(int j = 0; j < integerList.size() - i - 1; j++){                if(integerList.get(j) > integerList.get(j + 1)){                    Integer temp = integerList.get(j);                    integerList.set(j, integerList.get(j + 1));                    integerList.set(j + 1, temp);                }            }        }        System.out.println(integerList);    }}

来源地址:https://blog.csdn.net/qq_51383106/article/details/131814255

--结束END--

本文标题: 【java】对ArrayList中的元素进行排序的几种方式

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

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

猜你喜欢
  • 【java】对ArrayList中的元素进行排序的几种方式
    对ArrayList中的元素进行排序的几种方式 一、使用Collections工具类 1、对基本类型排序 通过Collections.sort()对基本类型排序默认是以升序排序 // 1.Collec...
    99+
    2023-09-08
    java Collections ArrayList Comparable接口 排序算法
  • java如何对arraylist中元素进行排序
    这篇文章主要介绍了java如何对arraylist中元素进行排序,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。rrayList中的元素进行排序,主要考查的是对util包中的C...
    99+
    2023-05-30
    java arraylist
  • Java 程序对数组元素进行降序排序
    对给定的数组进行降序排序,即将元素从大到小排列。 例子: 输入:数组 = {2, 6, 23, 98, 24, 35, 78} 输出: [98, 78, 35, 24, 23, 6, 2] 输入:数组...
    99+
    2023-10-10
    java 排序算法 算法
  • java中排序的方式有哪几种
    在Java中,常见的排序方式有以下几种:1. 冒泡排序(Bubble Sort):通过相邻元素之间的比较和交换来排序。2. 选择排序...
    99+
    2024-02-29
    java
  • python如何对列表中的元素进行排序
    这篇文章主要介绍了python如何对列表中的元素进行排序,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。示例:# sort:排序,对...
    99+
    2024-04-02
  • java中ArrayList的两种排序方法实例
    目录前言1.ArrayList使用排序的初衷2.对一个ArrayList中的数组进行排序。3.多个ArrayList中的元素进行排序总结前言 由于其功能性和灵活性,ArrayList...
    99+
    2024-04-02
  • Java使用Collections.sort对中文进行排序方式
    目录使用Collections.sort对中文进行排序Collections.sort 排序 注解使用Collections.sort对中文进行排序 使用collections.so...
    99+
    2024-04-02
  • Java实现字符串排序的几种方式
    创建实体类(此处引入了lombok) @Data@AllArgsConstructor@NoArgsConstructorpublic class Test{ private int Id; private String Tes...
    99+
    2023-09-14
    java 算法 排序算法
  • Java如何使用Collections.sort对中文进行排序方式
    本篇文章为大家展示了Java如何使用Collections.sort对中文进行排序方式,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。使用Collections.sort对中文进行排序使用collec...
    99+
    2023-06-25
  • Java List 按指定条件排序的几种方式
      在 Java 项目中,可能会遇到给出一些条件,将 List 元素按照给定条件进行排序的情况。如下述场景。 一、排序场景   List 保存着一组乱序排列的字符串,Map 中保存着该组字符串各自的优...
    99+
    2023-08-31
    java
  • java中实现对类的对象进行排序
    我们需要对类按照类中的某一个属性(或者多个属性)来对类的对象进行排序,有两种方法可以实现,一种方法是类实现Comparable接口,然后调用Collections.sort(List)方法进行排序,另一种方法是类不实现Comparable接...
    99+
    2022-03-08
    java教程 java 实现 对象 排序
  • java中ArrayList的排序方法有哪些
    在Java中,ArrayList类提供了多种排序方法,可以根据不同的需求选择适合的排序方法。以下是常用的ArrayList排序方法:...
    99+
    2023-08-17
    java ArrayList
  • redis中对list进行排序的方法
    这篇文章主要介绍了redis中对list进行排序的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。redis中对list排序使用sort进行。...
    99+
    2024-04-02
  • java集合进行排序的方式总结
    ava集合的工具类Collections中提供了两种排序的方法,分别是: Collections.sort(List list) Collections.sort(...
    99+
    2024-04-02
  • python中列表添加元素的几种方式(+、append()、extend())
    目录1、使用+加号2、使用append()方法3、使用extend()方法4、难点1、使用+加号 +加号是将两个list列表相加,返回一个新的列表对象,会消耗额外的内存。 #!/us...
    99+
    2024-04-02
  • C#中对集合排序的三种方式
    对集合排序,可能最先想到的是使用OrderBy方法。 class Program { static void Main(string[] args) ...
    99+
    2024-04-02
  • PHP中对数组进行排序的方法
    这篇文章主要介绍PHP中对数组进行排序的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php有什么用php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语法...
    99+
    2023-06-14
  • java后端进行跨域的几种方式小结
    目录一、使用@CrossOrigin注解二、重写addCorsMappings方法三、添加CORS过滤器一、使用@CrossOrigin注解 在controller类上加上@Cros...
    99+
    2023-03-19
    java后端跨域 java 跨域
  • JS中如何按照一定规则对数组元素进行排序
    这篇文章主要讲解了“JS中如何按照一定规则对数组元素进行排序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JS中如何按照一定规则对数组元素进行排序”吧!今天...
    99+
    2024-04-02
  • java中元素排序Comparable和Comparator的区别
    目录ComparableComparator总结初次碰到这个问题是之前有一次电话面试,问了一个小时的问题,其中有一个问题就问到Comparable和Comparator的区别,当时没...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作