51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

使用Java List.sort方法进行排序

Java List.sort() 方法用来对List集合中的元素进行排序。这种排序可以基于元素的自然顺序,也可以基于我们提供的比较器决定。

一、基于自然顺序的排序 {#title-1}

使用List.sort()方法,我们可以轻易的对List中的元素进行自然排序。由于Java的包装类已实现了Comparable接口,所以对于基本类型及其包装类,使用List.sort()方法进行排序十分简洁方便。

List integerList = new ArrayList<>(Arrays.asList(5, 3, 8, 1));
integerList.sort(null);
System.out.println(integerList);  // prints "[1, 3, 5, 8]"

此片段表示创建了一个整数列表,并使用了sort()函数对其进行升序排序。

二、使用Comparator进行排序 {#title-2}

虽然List.sort()方法为我们提供了轻松进行自然排序的途径,但我们仍然会遇到很多需要自定义排序规则的情况。这个时候,我们就需要使用到Comparator。

List stringList = new ArrayList<>(Arrays.asList("Orange", "apple", "BANANA"));
stringList.sort(Comparator.comparing(String::toString));
System.out.println(stringList);  // prints "[BANANA, Orange, apple]"

此代码表示创建了一个字符串列表,并使用了Comparator.comparing()方法对其进行了比较。

三、基于lambda表达式的排序 {#title-3}

从Java 8开始,我们可以使用 Lambda 表达式来简化代码的编写。对List中的对象进行自定义排序,就可以用到Lambda表达式.

List stringList2 = new ArrayList<>(Arrays.asList("Orange", "apple", "BANANA"));
stringList2.sort((String s1, String s2) -> s1.compareToIgnoreCase(s2));
System.out.println(stringList2);  // prints "[apple, BANANA, Orange]"

此代码表示创建了一个字符串列表,并使用了lambda表达式对其进行了忽略大小写的比较。

赞(7)
未经允许不得转载:工具盒子 » 使用Java List.sort方法进行排序