Stream流排序数组和List 详解
在 Java 8 中新增了 Stream 流,可以使用 Stream 流对数组和 List 进行排序。本文将详细介绍 Stream 流排序数组和 List 的方法以及示例。
Stream 流排序数组
对于数组排序,我们可以使用 Arrays 类中的 sort 方法,该方法可以对基本类型和实现 Comparable 接口的对象排序。使用 Stream 流对数组排序的具体步骤如下:
- 使用 Arrays.stream() 方法将数组转为 Stream 流。
- 调用 sorted() 方法进行排序。
- 使用 toArray() 方法将 Stream 流转回数组。
代码示例:
int[] arr = {3, 2, 5, 1, 4};
int[] sortedArr = Arrays.stream(arr).sorted().toArray();
System.out.println(Arrays.toString(sortedArr)); // 输出为 [1, 2, 3, 4, 5]
Stream 流排序 List
List 排序的方法和数组类似,只需使用 List 类的 sort() 方法进行排序。使用 Stream 流对 List 排序的具体步骤如下:
- 使用 stream() 方法将 List 转为 Stream 流。
- 调用 sorted() 方法进行排序。
- 使用 collect() 方法将 Stream 流转为 List。
代码示例:
List<Integer> list = Arrays.asList(3, 2, 5, 1, 4);
List<Integer> sortedList = list.stream().sorted().collect(Collectors.toList());
System.out.println(sortedList); // 输出为 [1, 2, 3, 4, 5]
在以上两个示例中,我们使用 Stream 流对数组和 List 进行排序,并输出排序后的结果。经过测试,Stream 流排序的效率比直接使用 sort() 方法排序略低,但可以充分利用多核 CPU 进行并行操作提高排序速度。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Stream流排序数组和List 详解 - Python技术站