sort()
方法根据指定的顺序对数组列表中的元素进行排序。
示例
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)
这里,
arraylist 是
ArrayList
类的对象。
sort() 参数
sort()
方法接受一个参数。
sort() 返回值
sort()
方法不返回任何值。相反,它只会改变数组列表中元素的顺序。
示例 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.sort(Comparator.naturalOrder());
这里是 naturalOrder() 方法>Java Comparator Interface 指定元素按自然顺序(即升序)排序。
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 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() 方法是对数组列表进行排序的更方便的方法。