在 Lightweight-Stream-API 中按降序排序
sortBy in descending order in Lightweight-Stream-API
我正在尝试使用 Lightweight-Stream-API 支持小于 API-24。它适用于升序,但如何降序 sortBy()
.
List<Person> persons = Arrays.asList(
new Person("Bill", 30),
new Person("Ali", 25),
new Person("Apula", 40),
new Person("Calin", 18),
new Person("Adomin", 20),
new Person("Amkita", 35),
new Person("Della", 40)
);
List<Person> result = com.annimon.stream.Stream.of(persons)
.filter(x -> x.getName().startsWith("A"))
.sortBy(Person::getAge) // how to make it descending?
.limit(2)
.toList();
以前没有听说过或使用过这个库,但一些研究似乎表明您可以简单地将 sortBy 方法更改为:
.sortBy(p -> -p.getAge())...
或
.sortBy(new Function<Person, Integer>(){
@Override
public Integer apply(Person p){
return -p.getAge();
}
})...
这里和上一个测试方法类似:
我正在尝试使用 Lightweight-Stream-API 支持小于 API-24。它适用于升序,但如何降序 sortBy()
.
List<Person> persons = Arrays.asList(
new Person("Bill", 30),
new Person("Ali", 25),
new Person("Apula", 40),
new Person("Calin", 18),
new Person("Adomin", 20),
new Person("Amkita", 35),
new Person("Della", 40)
);
List<Person> result = com.annimon.stream.Stream.of(persons)
.filter(x -> x.getName().startsWith("A"))
.sortBy(Person::getAge) // how to make it descending?
.limit(2)
.toList();
以前没有听说过或使用过这个库,但一些研究似乎表明您可以简单地将 sortBy 方法更改为:
.sortBy(p -> -p.getAge())...
或
.sortBy(new Function<Person, Integer>(){
@Override
public Integer apply(Person p){
return -p.getAge();
}
})...
这里和上一个测试方法类似: