📜  Java ArrayList sort()

📅  最后修改于: 2020-09-27 00:30:27             🧑  作者: Mango

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

sort()方法的语法为:

arraylist.sort(Comparator c)

在这里, arraylistArrayList类的对象。


sort()参数

sort()方法采用单个参数。

  • 比较器 -指定arraylist的排序顺序

sort()返回值

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


示例1:以自然顺序对ArrayList进行排序
import java.util.ArrayList;
import java.util.Comparator;

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

    // create an ArrayList
    ArrayList 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.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) {

    // create an ArrayList
    ArrayList 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.reverseOrder());
    System.out.println("Sorted ArrayList: " + languages);
  }
}

输出

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

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

注意Collections.sort()方法是对数组列表进行排序的更方便的方法。