假设我有一个整数列表
1,2,3,4,5,6,7,8,9,10
如何计算偶数加法和奇数减法? 我可以使用 for 循环执行此操作,但我想知道如何使用 stream
和 filter
请您参考如下方法:
一个可能的解决方案是将数组中的每个值映射到它本身,如果它是偶数,如果它是奇数,则映射到它的相反值。这样,通过对结果求和,您将添加所有偶数并减去所有奇数。
您可以检索 IntStream
来自 Arrays.stream(array)
的 int 数组, 然后使用 map
转换偶数和奇数,最后调用 sum
对所有值求和。
示例代码:
int[] array = { 1,2,3,4,5,6,7,8,9,10 };
int sum = Arrays.stream(array).map(i -> i % 2 == 0 ? i : -i).sum();