Java ArrayList sort()方法根據(jù)指定的順序對arraylist中的元素進行排序。
sort()方法的語法為:
arraylist.sort(Comparator c)
comparator - 指定arraylist的排序順序
sort()方法不返回任何值。而是僅更改ArrayList中元素的順序。
import java.util.ArrayList;
import java.util.Comparator;
class Main {
public static void main(String[] args) {
//創(chuàng)建 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接口還提供了按降序對元素進行排序的方法。例如,
import java.util.ArrayList;
import java.util.Comparator;
class Main {
public static void main(String[] args) {
//創(chuàng)建 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進行排序的更方便的方法。