gpt4 book ai didi

java流找到匹配还是最后一个?

转载 作者:IT老高 更新时间:2023-10-28 20:46:22 24 4
gpt4 key购买 nike

如何使用 java 流找到列表中的第一个匹配项或最后一个元素?

表示如果没有元素符合条件,则返回最后一个元素。

例如:

OptionalInt i = IntStream.rangeClosed(1,5)
.filter(x-> x == 7)
.findFirst();
System.out.print(i.getAsInt());

我应该怎么做才能让它返回 5;

最佳答案

给定列表

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);

你可以这样做:

int value = list.stream().filter(x -> x == 2)
.findFirst()
.orElse(list.get(list.size() - 1));

这里如果过滤器的计算结果为真,则检索元素,否则返回最后一个元素。

如果列表是,你可以返回一个默认值,例如-1。

int value = list.stream().filter(x -> x == 2)
.findFirst()
.orElse(list.isEmpty() ? -1 : list.get(list.size() - 1));

关于java流找到匹配还是最后一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53647174/

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