Java 列表排序

在 Java 中对列表进行排序

在前面的章节中,您学习了如何使用 Java 中两种流行的列表:ArrayList 和 LinkedList,它们都位于 java.util 包中。

java.util 包中的另一个有用的类是 Collections 类,它包含了用于按字母顺序或数字顺序对列表进行排序的 sort() 方法。

对 ArrayList 进行排序

按字母升序对字符串 ArrayList 进行排序:

实例

import java.util.ArrayList;
import java.util.Collections; // 导入 Collections 类
 
public class Main {
 public static void main(String[] args) {
 ArrayList<String> cars = new ArrayList<String>();
 cars.add("Volvo");
 cars.add("BMW");
 cars.add("Ford");
 cars.add("Mazda");
 
 Collections.sort(cars); // 对 cars 进行排序
 
 for (String car : cars) {
 System.out.println(car);
 }
 }
}

亲自试一试

按数字升序对整数 ArrayList 进行排序:

实例

import java.util.ArrayList;
import java.util.Collections; // 导入 Collections 类
 
public class Main {
 public static void main(String[] args) {
 ArrayList<Integer> myNumbers = new ArrayList<Integer>();
 myNumbers.add(33);
 myNumbers.add(15);
 myNumbers.add(20);
 myNumbers.add(34);
 myNumbers.add(8);
 myNumbers.add(12);
 
 Collections.sort(myNumbers); // 对 myNumbers 进行排序
 
 for (int number : myNumbers) {
 System.out.println(number);
 }
 }
}

亲自试一试

逆序排序

您还可以使用 reverseOrder() 方法对列表进行逆序排序。

在下面的例子中,我们按字母逆序/降序对字符串 ArrayList 进行排序:

实例

import java.util.ArrayList;
import java.util.Collections; // 导入 Collections 类
 
public class Main {
 public static void main(String[] args) {
 ArrayList<String> cars = new ArrayList<String>();
 cars.add("Volvo");
 cars.add("BMW");
 cars.add("Ford");
 cars.add("Mazda");
 
 Collections.sort(cars, Collections.reverseOrder()); // 对 cars 进行逆序排序
 
 for (String car : cars) {
 System.out.println(car);
 }
 }
}

亲自试一试

按数字逆序/降序对整数 ArrayList 进行排序:

实例

import java.util.ArrayList;
import java.util.Collections; // 导入 Collections 类
 
public class Main {
 public static void main(String[] args) {
 ArrayList<Integer> myNumbers = new ArrayList<Integer>();
 myNumbers.add(33);
 myNumbers.add(15);
 myNumbers.add(20);
 myNumbers.add(34);
 myNumbers.add(8);
 myNumbers.add(12);
 
 Collections.sort(myNumbers, Collections.reverseOrder()); // 对 myNumbers 进行逆序排序
 
 for (int number : myNumbers) {
 System.out.println(number);
 }
 }
}

亲自试一试

(追記) (追記ここまで)

AltStyle によって変換されたページ (->オリジナル) /