Java ArrayList sort()方法根據(jù)指定的順序?qū)rraylist中的元素進(jìn)行排序。
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); //按升序?qū)rrayList排序 languages.sort(Comparator.naturalOrder()); System.out.println("排序后的 ArrayList: " + languages); } }
輸出結(jié)果
未排序的 ArrayList: [Python, Swift, C, JavaScript] 排序后的 ArrayList: [C, JavaScript, Python, Swift]
在上面的示例中,我們使用了sort()方法對名為languages的ArrayList進(jìn)行排序。注意這一行,
languages.sort(Comparator.naturalOrder());
在這里,Java Comparator接口的naturalOrder()方法指定元素以自然順序(即升序)排序。
Comparator接口還提供了按降序?qū)υ剡M(jìn)行排序的方法。例如,
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); //按升序?qū)rrayList排序 languages.sort(Comparator.reverseOrder()); System.out.println("排序后的 ArrayList: " + languages); } }
輸出結(jié)果
未排序的 ArrayList: [Python, Swift, C, JavaScript] 排序后的 ArrayList: [Swift, Python, JavaScript, C]
在此,Comparator接口的reverseOrder()方法指定元素以相反的順序(即降序)排序。
注意:Collections.sort()方法是對arraylist進(jìn)行排序的更方便的方法。