gpt4 book ai didi

java - Java排序列表,然后使用Stream API从列表中获取子列表

转载 作者:行者123 更新时间:2023-12-01 14:10:15 28 4
gpt4 key购买 nike

public class Result {
...
private Integer averageRating;
}
我有结果列表 List<Result>。我想通过 averageRating对它们进行排序,然后想要从一个特定的索引获取一个特定的索引,例如10到20。
我可以使用 Collection.sort()使用 Comparator.comparing()做到这一点,然后从列表中获取子列表。但是问题是更高的索引可能大于列表大小,这就是为什么我必须手动处理它。像10到20,但列表大小为15,则将输出5个项目。
但是,如何使用Java Stream API做到这一点?
我尝试了一些但没有成功:
List<Result> result = list.stream().sorted(e -> e.getAverageRating()).collect(Collectors.toList());

最佳答案

请尝试以下操作:

int from = 10;
int to = 20;

List<Result> result = list.stream()
.sorted(Comparator.comparing(Result::getAverageRating))
.skip(from)
.limit(to - from)
.collect(Collectors.toList());
它应该跳过排序流的前10个元素,然后取不超过指定范围的差。

关于java - Java排序列表,然后使用Stream API从列表中获取子列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62665773/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com