java中stream sort()用法
时间: 2023-11-10 12:03:30 浏览: 39
Java中的Stream是一种函数式编程的方式,可以对集合进行各种操作。其中sort()方法可以对Stream中的元素进行排序。
sort()方法有两种重载形式:
1. sort():根据元素的自然顺序进行排序。
2. sort(Comparator<? super T> comparator):根据指定的Comparator进行排序。
示例代码:
```
List<Integer> list = Arrays.asList(3, 1, 4, 1, 5, 9, 2, 6, 5, 3);
list.stream().sorted().forEach(System.out::println); // 输出:1 1 2 3 3 4 5 5 6 9
List<String> strList = Arrays.asList("apple", "banana", "orange", "pear");
strList.stream().sorted((s1, s2) -> s1.length() - s2.length()).forEach(System.out::println); // 输出:pear apple banana orange
```
相关问题
java stream sort
Java中的Stream提供了sorted()方法来对元素进行排序。sorted()方法可以接受一个Comparator对象作为参数,以定义排序的规则。如果没有提供Comparator对象,则默认按照元素的自然顺序进行排序。
对于降序排序,可以使用reversed()方法来颠倒排序结果。例如,要对一个Student对象的列表按照年龄降序排序,可以使用以下代码:
list = list.stream().sorted(Comparator.comparing(Student::getAge).reversed()).collect(Collectors.toList());
对于升序排序,可以直接使用Comparator.comparing()方法。例如,要对一个Student对象的列表按照年龄升序排序,可以使用以下代码:
list = list.stream().sorted(Comparator.comparing(Student::getAge)).collect(Collectors.toList());
请注意,以上代码中的Student是一个自定义的类,你可以根据自己的需求替换成适当的类名和属性名。
stream中sort()可用方法
Java Stream中的sort()方法用于对流中的元素进行排序。sort()方法有两种重载形式:一种是不带参数的,另一种是带有Comparator参数的。下面是sort()方法可用的一些方法:
1. sorted():对流中的元素进行自然排序,要求元素实现Comparable接口。
2. sorted(Comparator<? super T> comparator):对流中的元素进行排序,使用指定的比较器。
3. reversed():返回一个与原始流相同的流,但是按照相反的顺序排序。
4. thenComparing(Comparator<? super T> other):返回一个比较器,它首先使用当前比较器进行比较,如果比较结果相同,则使用other比较器进行比较。
5. thenComparing(Function<? super T,? extends U> keyExtractor, Comparator<? super U> keyComparator):返回一个比较器,它首先使用keyExtractor函数提取关键字进行比较,如果比较结果相同,则使用keyComparator比较器进行比较。
6. naturalOrder():返回一个自然排序的比较器。
7. reverseOrder():返回一个逆序排序的比较器。