stream流如何排序
时间: 2023-09-24 20:13:24 浏览: 79
stream流可以使用sorted()方法进行排序。sorted()方法接受一个Comparator参数,用来指定排序的规则。
例如,假设有一个整数列表,我们想按照从小到大的顺序对其进行排序,可以使用stream流的sorted()方法:
```
List<Integer> numbers = Arrays.asList(3, 1, 4, 1, 5, 9, 2, 6, 5);
List<Integer> sortedNumbers = numbers.stream()
.sorted()
.collect(Collectors.toList());
```
上述代码中,我们首先将整数列表转换为stream流,然后调用sorted()方法进行排序,最后使用collect()方法将排序后的结果收集到一个新的列表中。
如果想要按照自定义的排序规则对stream流进行排序,可以使用Comparator参数,例如:
```
List<String> strings = Arrays.asList("apple", "banana", "cherry", "date");
List<String> sortedStrings = strings.stream()
.sorted(Comparator.comparing(String::length))
.collect(Collectors.toList());
```
上述代码中,我们根据字符串的长度来进行排序,使用Comparator.comparing()方法指定排序规则。
总之,stream流的sorted()方法可以通过传递Comparator参数来实现排序。