温馨提示×

Java中sorted()函数如何工作

小樊
85
2024-08-27 12:15:24
栏目: 编程语言

在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());

0