stream排序 倒序
时间: 2023-07-23 16:05:15 浏览: 63
stream排序可以使用`sorted()`函数,倒序可以使用`reverse=True`参数或者使用`sorted()`函数的`reverse`参数。
例如,对一个整型列表进行排序并倒序输出:
```python
numbers = [5, 2, 7, 1, 9, 3]
sorted_numbers = sorted(numbers, reverse=True)
print(sorted_numbers)
```
输出:
```
[9, 7, 5, 3, 2, 1]
```
另外,也可以使用`list.sort()`方法对列表进行排序。倒序排序可以使用`reverse=True`参数:
```python
numbers = [5, 2, 7, 1, 9, 3]
numbers.sort(reverse=True)
print(numbers)
```
输出:
```
[9, 7, 5, 3, 2, 1]
```
相关问题
java 集合stream排序倒序
Java集合中的Stream是一种函数式编程的方式,可以对集合进行各种操作,其中包括排序。在Stream中,可以使用sorted()方法对集合进行排序,而且可以根据需要进行正序或倒序排序。具体实现方式如下:
1. 正序排序:list.stream().sorted(Comparator.comparing(类::属性一));
2. 倒序排序:list.stream().sorted(Comparator.comparing(类::属性一,Comparator.reverseOrder()));
其中,第一个方法是根据属性一进行正序排序,第二个方法是根据属性一进行倒序排序。在第二个方法中,使用了Comparator.reverseOrder()方法来实现倒序排序。
除此之外,还可以使用thenComparing()方法来实现多条件排序,例如先按年龄降序排序,年龄相等的话,则按年级升级排序:
resultList = resultList.stream().sorted(Comparator.comparing(User::getAge).reversed().thenComparing(Comparator.comparing(User::getGrade))).collect(Collectors.toList());
这样就可以实现按照多个条件进行排序了。
使用对象中某个字段 stream排序 倒序
假设您有一个包含多个对象的列表,每个对象都包含一个字段,您想按照该字段进行排序并进行倒序排列,可以使用以下代码:
```
List<Person> people = Arrays.asList(
new Person("Alice", 25),
new Person("Bob", 30),
new Person("Charlie", 20),
new Person("David", 35)
);
List<Person> sortedPeople = people.stream()
.sorted(Comparator.comparing(Person::getAge).reversed())
.collect(Collectors.toList());
```
在上述代码中,我们首先将Person对象列表转换为流,然后使用sorted()方法进行排序。通过Comparator.comparing()方法指定要按照哪个字段进行排序,然后使用reversed()方法将排序顺序反转为倒序。最后,我们使用collect()方法将排序后的流转换回List类型。
假设Person类具有以下定义:
```
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
```