Java中sorted()函数如何工作

avatar
作者
猴君
阅读量:0

在Java中,sorted()函数是一个用于对集合(例如列表、集或流)进行排序的方法

以下是sorted()函数的基本工作原理:

  1. 它接收一个可选的比较器参数,该参数定义了排序时应用的顺序。如果没有提供比较器,则使用元素的自然顺序进行排序。
  2. sorted()函数返回一个新的、排序后的集合,而不修改原始集合。这意味着原始集合保持不变,而排序后的集合将存储在新的变量中。
  3. 对于列表和集合,sorted()函数通常返回一个新的列表。对于流,它返回一个新的、排序后的流。
  4. 排序操作是延迟执行的,这意味着只有在实际需要结果时才会执行排序。这有助于提高性能,特别是在处理大型数据集时。

以下是一个使用sorted()函数对列表进行排序的示例:

import java.util.Arrays; import java.util.List; import java.util.stream.Collectors;  public class SortedExample {     public static void main(String[] args) {         List<Integer> numbers = Arrays.asList(5, 1, 3, 6, 2, 7, 8);          // 使用 sorted() 函数对列表进行排序         List<Integer> sortedNumbers = numbers.stream()                                             .sorted()                                             .collect(Collectors.toList());          System.out.println("原始列表: " + numbers);         System.out.println("排序后的列表: " + sortedNumbers);     } } 

输出:

原始列表: [5, 1, 3, 6, 2, 7, 8] 排序后的列表: [1, 2, 3, 5, 6, 7, 8] 

请注意,sorted()函数默认按照升序排序。如果需要按照降序排序,可以提供一个自定义的比较器,如下所示:

List<Integer> sortedNumbersDescending = numbers.stream()                                               .sorted(Comparator.reverseOrder())                                               .collect(Collectors.toList()); 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!