stream如何排序
时间: 2023-11-26 22:44:51 浏览: 64
Stream流支持两种排序方式:自然排序和定制排序。其中自然排序使用sorted()方法,定制排序使用sorted(Comparator comp)方法。自然排序会按照元素的自然顺序进行排序,而定制排序则需要使用Comparator接口提供自定义比较器进行排序。具体的排序方法可以参考如下的范例:
1.自然排序:
List<String> list = Arrays.asList("aaa", "bbb", "ccc");
Stream<String> stream = list.stream().sorted();
stream.forEach(System.out::println);
2.定制排序:
List<User> users = Arrays.asList(
new User("lzj", 28),
new User("zhangsan", 30),
new User("lisi", 28),
new User("wanger", 28));
Stream<User> stream = users.stream()
.sorted((x, y) -> {
if (x.getAge() == y.getAge()) {
return x.getName().compareTo(y.getName());
} else {
return x.getAge() > y.getAge() ? 1 : -1;
}
});
stream.forEach(System.out::println);
--相关问题--:
阅读全文