intstream 的sorted 降序
时间: 2023-11-18 08:52:54 浏览: 144
可以使用以下代码将 IntStream 进行降序排序:
```
int[] arr = {1, 3, 2, 5, 4};
IntStream.of(arr)
.boxed()
.sorted(Collections.reverseOrder())
.mapToInt(Integer::intValue)
.toArray();
```
其中,`boxed()` 方法将 `IntStream` 转换为 `Stream<Integer>`,然后使用 `sorted()` 方法进行排序,`Collections.reverseOrder()` 表示降序排序,最后使用 `mapToInt()` 方法将 `Stream<Integer>` 转换为 `IntStream`,再使用 `toArray()` 方法将结果转换为数组。
相关问题
stream sorted 降序
### Java Stream 实现降序排序
为了实现通过 `Stream` 进行降序排序,可以利用 `sorted()` 方法并传入自定义的比较器。下面是一个具体的例子来展示如何操作整数列表:
```java
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
public class DescendingOrderExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(7, 2, 9, 5);
List<Integer> sortedNumbers = numbers.stream()
.sorted(Comparator.reverseOrder())
.collect(Collectors.toList());
System.out.println(sortedNumbers);
}
}
```
对于对象类型的流来说,则可以通过指定属性来进行逆向排序。这里给出一个字符串长度作为依据的例子[^1]。
```java
List<String> words = Arrays.asList("apple", "banana", "watermelon");
words.stream().sorted((a, b) -> Integer.compare(b.length(), a.length()))
.forEach(System.out::println);
```
当处理基本数据类型数组时,也可以借助于 `IntStream` 或者其他对应的原始类型流接口完成同样的功能[^2]。
intstream降序排序
可以使用Java 8中的IntStream和sorted方法来进行降序排序,示例代码如下:
```
int[] arr = {1, 3, 2, 5, 4};
IntStream.of(arr)
.boxed()
.sorted(Comparator.reverseOrder())
.mapToInt(Integer::intValue)
.toArray();
```
这里先将int数组转换为IntStream,再使用boxed方法将其转换为Stream<Integer>,然后使用sorted方法进行降序排序,最后再将其转换为int数组。
阅读全文
相关推荐




