Java ArrayList sort() 方法
sort() 方法根据指定的顺序对动态数组中的元素进行排序。
sort() 方法的语法为:
arraylist.sort(Comparator c)
注:arraylist 是 ArrayList 类的一个对象。
参数说明:
- comparator - 顺序方式
返回值
sort() 方法不返回任何值,它只是更改动态数组列表中元素的顺序。
实例
以自然顺序排序,以下是字母的顺序:
实例
import java.util.ArrayList;
import java.util.Comparator;
class Main {
public static void main(String[] args){
// 创建一个动态数组
ArrayList<String> sites = new ArrayList<>();
sites.add("Runoob");
sites.add("Google");
sites.add("Wiki");
sites.add("Taobao");
System.out.println("网站列表: " + sites);
System.out.println("不排序: " + sites);
// 元素进行升序排列
sites.sort(Comparator.naturalOrder());
System.out.println("排序后: " + sites);
}
}
import java.util.Comparator;
class Main {
public static void main(String[] args){
// 创建一个动态数组
ArrayList<String> sites = new ArrayList<>();
sites.add("Runoob");
sites.add("Google");
sites.add("Wiki");
sites.add("Taobao");
System.out.println("网站列表: " + sites);
System.out.println("不排序: " + sites);
// 元素进行升序排列
sites.sort(Comparator.naturalOrder());
System.out.println("排序后: " + sites);
}
}
执行以上程序输出结果为:
网站列表: [Runoob, Google, Wiki, Taobao] 不排序: [Runoob, Google, Wiki, Taobao] 排序后: [Google, Runoob, Taobao, Wiki]
在上面的实例中,我们使用了该 sort() 方法对名为 sites 的动态数组进行排序。
注意这一行:
sites.sort(Comparator.naturalOrder());
在此,Java Comparator 接口的 naturalOrder() 方法指定元素以自然顺序(升序)排序。
Comparator 接口还提供了对元素进行降序排列的方法:
实例
import java.util.ArrayList;
import java.util.Comparator;
class Main {
public static void main(String[] args){
// 创建一个动态数组
ArrayList<String> sites = new ArrayList<>();
sites.add("Runoob");
sites.add("Google");
sites.add("Wiki");
sites.add("Taobao");
System.out.println("网站列表: " + sites);
System.out.println("不排序: " + sites);
// 降序
sites.sort(Comparator.reverseOrder());
System.out.println("降序排序: " + sites);
}
}
import java.util.Comparator;
class Main {
public static void main(String[] args){
// 创建一个动态数组
ArrayList<String> sites = new ArrayList<>();
sites.add("Runoob");
sites.add("Google");
sites.add("Wiki");
sites.add("Taobao");
System.out.println("网站列表: " + sites);
System.out.println("不排序: " + sites);
// 降序
sites.sort(Comparator.reverseOrder());
System.out.println("降序排序: " + sites);
}
}
执行以上程序输出结果为:
网站列表: [Runoob, Google, Wiki, Taobao] 不排序: [Runoob, Google, Wiki, Taobao] 降序排序: [Wiki, Taobao, Runoob, Google]
在上面的实例中,Comparator 接口的 reverseOrder() 方法指定以相反的顺序(降序)对元素进行排序。