在Java中,sorted()
函数是一个用于对集合(例如列表、集或流)进行排序的方法
以下是sorted()
函数的基本工作原理:
- 它接收一个可选的比较器参数,该参数定义了排序时应用的顺序。如果没有提供比较器,则使用元素的自然顺序进行排序。
sorted()
函数返回一个新的、排序后的集合,而不修改原始集合。这意味着原始集合保持不变,而排序后的集合将存储在新的变量中。- 对于列表和集合,
sorted()
函数通常返回一个新的列表。对于流,它返回一个新的、排序后的流。 - 排序操作是延迟执行的,这意味着只有在实际需要结果时才会执行排序。这有助于提高性能,特别是在处理大型数据集时。
以下是一个使用sorted()
函数对列表进行排序的示例:
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class SortedExample { public static void main(String[] args) { Listnumbers = Arrays.asList(5, 1, 3, 6, 2, 7, 8); // 使用 sorted() 函数对列表进行排序 List 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()
函数默认按照升序排序。如果需要按照降序排序,可以提供一个自定义的比较器,如下所示:
ListsortedNumbersDescending = numbers.stream() .sorted(Comparator.reverseOrder()) .collect(Collectors.toList());