gpt4 book ai didi

Java 8 Streams - 迭代器无法按预期工作

转载 作者:行者123 更新时间:2023-11-29 09:43:44 26 4
gpt4 key购买 nike

为什么 .next() 返回 7 而不是我预期的 8?

List<Integer> intList = new ArrayList<>();

IntStream.range(0, 10)
.forEach(i -> intList.add(i));

int value = intList.stream()
.filter(number -> number == 7)
.iterator()
.next(); // returns 7, not 8.

最佳答案

过滤器将流过滤为仅匹配条件 number == 7 的元素(即只有一个元素,恰好是 Integer 7),然后 next( ) 返回第一个(也是唯一一个)元素。请记住,为了从 Iterator 中获取第一个元素,您需要调用一次 next()

如果您确实想要此有序列表中 7 之后的第一个元素,您可以将过滤器更改为 number -> number > 7

关于Java 8 Streams - 迭代器无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23507660/

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