stream sorted指定排序规则
时间: 2023-10-25 09:27:00 浏览: 100
stream sorted可以指定排序规则,使用Comparator来实现自定义的排序规则。Comparator是一个函数式接口,它可以用lambda表达式或方法引用来实现。
下面是一个示例,展示如何使用stream sorted方法来指定排序规则:
```java
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");
names.add("Dave");
// 按照字符串长度进行排序
names.stream()
.sorted(Comparator.comparingInt(String::length))
.forEach(System.out::println);
}
}
```
在上面的示例中,我们使用了sorted方法,并传入一个Comparator对象。Comparator.comparingInt方法接受一个函数,该函数指定了用于比较的字段或属性。在这个例子中,我们使用String::length来获取字符串的长度,并按照长度进行排序。
输出结果将会是:
```
Bob
Dave
Alice
Charlie
```
你可以根据具体需求实现自己的Comparator来指定不同的排序规则。
阅读全文