java stream sort
时间: 2023-11-07 13:03:35 浏览: 89
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是一个自定义的类,你可以根据自己的需求替换成适当的类名和属性名。
相关问题
java中stream sort()用法
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 例子
当然,我可以给你一些Java Stream的例子。下面是几个常见的用法:
1. 过滤(Filter):使用filter方法可以根据特定的条件过滤集合中的元素。例如,筛选出所有大于10的数字:
```
List<Integer> numbers = Arrays.asList(1, 5, 10, 15, 20);
List<Integer> filteredNumbers = numbers.stream()
.filter(n -> n > 10)
.collect(Collectors.toList());
```
2. 映射(Map):使用map方法可以将一个元素转换为另一个元素。例如,将集合中的每个数字平方:
```
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> squaredNumbers = numbers.stream()
.map(n -> n * n)
.collect(Collectors.toList());
```
3. 排序(Sort):使用sorted方法可以对集合中的元素进行排序。例如,按照数字大小对集合进行升序排序:
```
List<Integer> numbers = Arrays.asList(5, 3, 1, 4, 2);
List<Integer> sortedNumbers = numbers.stream()
.sorted()
.collect(Collectors.toList());
```
4. 匹配(Match):使用anyMatch、allMatch或者noneMatch方法可以判断集合中是否存在满足特定条件的元素。例如,判断集合中是否存在大于10的数字:
```
List<Integer> numbers = Arrays.asList(5, 10, 15, 20);
boolean hasNumberGreaterThan10 = numbers.stream()
.anyMatch(n -> n > 10);
```
这些只是Java Stream的一些常见用法,还有很多其他功能可以探索。希望对你有所帮助!如果你有其他问题,请随时提问。
阅读全文