Java ArrayList sort() 方法
sort()
方法按照指定的顺序对 arraylist 中的元素进行排序。
示例
import java.util.ArrayList;
import java.util.Comparator;
class Main {
public static void main(String[] args) {
// 创建一个 ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(7);
numbers.add(3);
numbers.add(9);
numbers.add(-33);
System.out.println("未排序的 ArrayList: " + numbers);
// 按升序对 ArrayList 进行排序
numbers.sort(Comparator.naturalOrder());
System.out.println("已排序的 ArrayList: " + numbers);
}
}
// 输出:未排序的 ArrayList: [7, 3, 9, -33]
// 已排序的 ArrayList: [-33, 3, 7, 9]
ArrayList sort() 的语法
sort()
方法的语法是:
arraylist.sort(Comparator c)
这里,arraylist
是 ArrayList
类的一个对象。
sort() 参数
sort()
方法接受单个参数。
- comparator - 指定 arraylist 的排序顺序
sort() 返回值
sort()
方法不返回任何值。它只改变 arraylist 中元素的顺序。
示例 1:按自然顺序对 ArrayList 进行排序
import java.util.ArrayList;
import java.util.Comparator;
class Main {
public static void main(String[] args) {
// 创建一个 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
接口还提供了一种方法来按降序对元素进行排序。例如 ,
示例 2:按逆序对 ArrayList 进行排序
import java.util.ArrayList;
import java.util.Comparator;
class Main {
public static void main(String[] args) {
// 创建一个 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 进行排序的更方便的方法。