sort()
方法的语法为:
arraylist.sort(Comparator c)
在这里, arraylist是ArrayList
类的对象。
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()方法是对数组列表进行排序的更方便的方法。