【发布时间】:2017-10-04 07:12:36
【问题描述】:
我正在研究从一个数组中找到一对两个整数的问题,该数组以不同的方式在 Java 中求和为给定的数字。 我想使用 Java 8 函数。我尝试过这样的事情:
for (int i = 0; i < arr.length; i++) {
List<Integer> res = IntStream.of(arr).boxed().filter(x -> x + arr[i] == givenNumber)
.collect(Collectors.toList());
}
但它不起作用(错误),因为“arr[i]”不是最终的,在我的方法中也不能是最终的。可以像: filter(x -> y -> x + y == givenNumber) 与 arr 中的 x 和 y 以某种方式工作?
那么这可以在 Java 8 中使用函数式编程来完成吗?如果答案是肯定的,那怎么做?
【问题讨论】:
-
只使用一个中间变量
int i0 = i;
标签: java arrays functional-programming java-8