Java ArrayList sort()

sort() 方法根据指定的顺序对arraylist中的元素进行排序。

示例

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

class Main {
  public static void main(String[] args) {

    // create an ArrayList
    ArrayList<Integer> numbers = new ArrayList<>();
    numbers.add(7);
    numbers.add(3);
    numbers.add(9);
    numbers.add(-33);
    System.out.println("Unsorted ArrayList: " + numbers);

    // sort the ArrayList in ascending order
numbers.sort(Comparator.naturalOrder());
System.out.println("Sorted ArrayList: " + numbers); } } // Output: Unsorted ArrayList: [7, 3, 9, -33] // Sorted ArrayList: [-33, 3, 7, 9]

ArrayList sort() 语法

sort() 方法的语法是:

arraylist.sort(Comparator c)

在这里,arraylistArrayList 类的一个对象


sort() 参数

sort() 方法接受一个参数。

  • comparator - 指定 arraylist 的排序顺序

sort() 返回值

sort() 方法不返回任何值。它只改变 arraylist 中元素的顺序。


示例 1:按自然顺序对 ArrayList 进行排序

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

class Main {
  public static void main(String[] args) {

    // create an ArrayList
    ArrayList<String> languages = new ArrayList<>();

    // add elements to ArrayList
    languages.add("Python");
    languages.add("Swift");
    languages.add("C");
    languages.add("JavaScript");
    System.out.println("Unsorted ArrayList: " + languages);

    // sort the ArrayList in ascending order
languages.sort(Comparator.naturalOrder());
System.out.println("Sorted ArrayList: " + languages); } }

输出

Unsorted ArrayList: [Python, Swift, C, JavaScript]
Sorted ArrayList: [C, JavaScript, Python, Swift]

在上面的示例中,我们使用了 sort() 方法来对名为 languages 的 arraylist 进行排序。请注意这一行:

languages.sort(Comparator.naturalOrder());

在这里,Java Comparator InterfacenaturalOrder() 方法指定元素按自然顺序(即升序)排序。

Comparator 接口还提供了一个方法来按降序对元素进行排序。例如,

示例 2:按反序对 ArrayList 进行排序

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

class Main {
  public static void main(String[] args) {

    // create an ArrayList
    ArrayList<String> languages = new ArrayList<>();

    // add elements to ArrayList
    languages.add("Python");
    languages.add("Swift");
    languages.add("C");
    languages.add("JavaScript");
    System.out.println("Unsorted ArrayList: " + languages);

    // sort the ArrayList in a reverse order
languages.sort(Comparator.reverseOrder());
System.out.println("Sorted ArrayList: " + languages); } }

输出

Unsorted ArrayList: [Python, Swift, C, JavaScript]
Sorted ArrayList: [Swift, Python, JavaScript, C]

在这里,Comparator 接口的 reverseOrder() 方法指定元素按反序(即降序)排序。

注意Collections.sort() 方法是排序 arraylist 的更方便的方法。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战