Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java ArrayList sort() 使用方法及示例

Java ArrayList 方法

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

sort()方法的语法为:

arraylist.sort(Comparator c)

sort()参数

  • comparator - 指定arraylist的排序顺序

sort()返回值

sort()方法不返回任何值。而是仅更改ArrayList中元素的顺序。

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

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

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

    //创建 ArrayList
    ArrayList<String> languages = new ArrayList<>();

    //添加元素到  ArrayList
    languages.add("Python");
    languages.add("Swift");
    languages.add("C");
    languages.add("JavaScript");
    System.out.println("未排序的 ArrayList: " + languages);

    //按升序对ArrayList排序
    languages.sort(Comparator.naturalOrder());
    System.out.println("排序后的 ArrayList: " + languages);
  }
}

输出结果

未排序的 ArrayList: [Python, Swift, C, JavaScript]
排序后的 ArrayList: [C, JavaScript, Python, Swift]

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

languages.sort(Comparator.naturalOrder());

在这里,Java Comparator接口的naturalOrder()方法指定元素以自然顺序(即升序)排序。

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

示例2:以降序的顺序对ArrayList进行排序

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

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

    //创建 ArrayList
    ArrayList<String> languages = new ArrayList<>();

    //添加元素到  ArrayList
    languages.add("Python");
    languages.add("Swift");
    languages.add("C");
    languages.add("JavaScript");
    System.out.println("未排序的 ArrayList: " + languages);

    //按升序对ArrayList排序
    languages.sort(Comparator.reverseOrder());
    System.out.println("排序后的 ArrayList: " + languages);
  }
}

输出结果

未排序的 ArrayList: [Python, Swift, C, JavaScript]
排序后的 ArrayList: [Swift, Python, JavaScript, C]

在此,Comparator接口的reverseOrder()方法指定元素以相反的顺序(即降序)排序。

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

Java ArrayList 方法