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