3 回答

TA贡献1921条经验 获得超9个赞
在 Java 8 中你需要一个有状态的过滤器
public static <T> Predicate<T> from(Predicate<T> test) {
boolean[] found = { false };
// once found, always true
return t -> found[0] || (found[0] = test.test(t));
}
注意:这仅对单线程流有意义。
List<EventUser> filteredByOffSet =
eventUsers.stream()
.filter(from(e -> "id301".equals(e.getId()))
.collect(Collectors.toList());

TA贡献1802条经验 获得超10个赞
先找到搜索项的索引:
int asInt = IntStream.range(0, list.size())
.filter(userInd-> list.get(userInd).equals(<criteria>))
.findFirst()
.getAsInt();
获取索引前后的项目:
list.stream().skip(asInt).collect(Collectors.toList());
添加回答
举报