stream java 数组排序
时间: 2024-05-25 09:08:32 浏览: 22
Java中对数组进行排序有两种方法,分别是使用Arrays.sort()方法和使用Stream.sorted()方法。下面是这两种方法的示例代码:
1. 使用Arrays.sort()方法排序数组
```java
int[] arr = {13, 7, 6, 45, 21, 9, 101, 102}; // 待排序数组
Arrays.sort(arr); // 对数组进行排序
System.out.printf("排序后的数组为 %s", Arrays.toString(arr)); // 输出排序后的数组
```
2. 使用Stream.sorted()方法排序数组
```java
int[] arr = {13, 7, 6, 45, 21, 9, 101, 102}; // 待排序数组
int[] sortedArr = Arrays.stream(arr).sorted().toArray(); // 使用Stream.sorted()方法对数组进行排序
System.out.printf("排序后的数组为 %s", Arrays.toString(sortedArr)); // 输出排序后的数组
```
在以上两种方法中,Arrays.sort()方法可以直接对数组进行排序,而Stream.sorted()方法需要先将数组转换为Stream流再进行排序,最后再将排序好的流转换为数组。
相关问题
java数组stream流的使用
Java数组流(Array Stream)是Java 8引入的一种新特性,它提供了一种便捷的方式来处理数组数据。通过使用数组流,我们可以对数组进行各种操作,如过滤、映射、排序等。
要使用数组流,首先需要将数组转换为流。可以使用Arrays类的stream()方法来实现这一转换。例如,假设我们有一个整型数组arr,可以使用以下代码将其转换为流:
```
int[] arr = {1, 2, 3, 4, 5};
IntStream stream = Arrays.stream(arr);
```
接下来,我们可以对数组流进行各种操作。以下是一些常用的数组流操作:
1. 过滤(Filter):使用filter()方法可以根据指定的条件过滤数组中的元素。例如,我们可以过滤出所有大于3的元素:
```
IntStream filteredStream = stream.filter(num -> num > 3);
```
2. 映射(Map):使用map()方法可以对数组中的每个元素进行映射操作。例如,我们可以将数组中的每个元素都乘以2 ```
IntStream mappedStream = stream.map(num -> num * 2);
```
3. 排序(Sort):使用sorted()方法可以对数组中的元素进行排序。例如,我们可以按照升序对数组进行排序:
```
IntStream sortedStream = stream.sorted();
```
4. 统计(Statistics):使用summaryStatistics()方法可以获取数组中元素的统计信息,如最大值、最小值、平均值等。例如,我们可以获取数组中元素的总和:
```
IntSummaryStatistics statistics = stream.summaryStatistics();
int sum = statistics.getSum();
```
这些只是数组流的一些基本用法,还有很多其他操作可以进行。你可以根据具体需求来选择适合的操作。
Java写一段使用Stream实现给数组排序的代码
当然,我可以回答这个问题。以下是使用Stream实现给数组排序的Java代码:
int[] arr = {5, 2, 7, 1, 9};
int[] sortedArray = Arrays.stream(arr).sorted().toArray();
//打印排序后的数组
Arrays.stream(sortedArray).forEach(n -> System.out.print(n + " "));