如何在 Java 中排序ArrayList

原文:https://www.studytonight.com/java-examples/how-to-sort-arraylist-in-java

在这篇文章中,我们将对 Java 中的一个ArrayList进行排序。ArrayList是 List 接口的一个实现,用于存储数据的类。

排序是我们在日常编程中使用的数据基本操作之一。

ArrayList进行排序有多种方式,如使用Listsort()方法或Collections类的sort()方法或流 APIsorted()方法。

我们可以根据需要使用这些排序技术中的任何一种,比如如果我们使用的是 stream,那么 sorted()方法将有助于获得排序的 ArrayList。

举例时间:

让我们创建一个对ArrayList进行排序的示例。这里我们使用的是sort()方法,它需要Comparator参数并对指定的列表进行排序。

import java.util.ArrayList;
import java.util.Comparator;

public class Main {
    public static void main(String[] args){
        ArrayList<Integer> arrList = new ArrayList<>();
        arrList.add(1030);
        arrList.add(1020);
        arrList.add(1010);
        arrList.add(1040);
        System.out.println(arrList);
        // Sorting ArrayList
        arrList.sort(Comparator.comparing( Integer::new ));
        System.out.println("After Sorting:");
        System.out.println(arrList);
    }
}

【1030、1020、1010、1040】 排序后: 【1010、1020、1030、1040】

示例:

让我们创建另一个例子来排序ArrayList。这里,我们使用 Collections 类的 sort()方法,该方法接受一个参数并对列表进行排序。

import java.util.ArrayList;
import java.util.Collections;

public class Main {
    public static void main(String[] args){
        ArrayList<Integer> arrList = new ArrayList<>();
        arrList.add(1030);
        arrList.add(1020);
        arrList.add(1010);
        arrList.add(1040);
        System.out.println(arrList);
        // Sorting ArrayList
        Collections.sort(arrList);
        System.out.println("After Sorting:");
        System.out.println(arrList);
    }
}

【1030、1020、1010、1040】 排序后: 【1010、1020、1030、1040】

示例:Java 8

如果您正在使用 Java 8 或更高版本,那么您可以利用流 API 对ArrayList进行排序。这里,我们使用流的 sorted()方法来帮助对流元素进行排序。

import java.util.ArrayList;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args){
        ArrayList<Integer> arrList = new ArrayList<>();
        arrList.add(1030);
        arrList.add(1020);
        arrList.add(1010);
        arrList.add(1040);
        System.out.println(arrList);
        // Sorting ArrayList
        arrList = (ArrayList<Integer>)arrList.stream().sorted().collect(Collectors.toList());
        System.out.println("After Sorting:");
        System.out.println(arrList);
    }
}

【1030、1020、1010、1040】 排序后: 【1010、1020、1030、1040】