IntPredicate Lambda Java8
IntPredicate Lambda Java8
以下方法的功能是尝试通过添加两个数字的倍数来遍历从 3 到 999 的列表,其中 multiplosDe.get(0)
可能是 4,multiplosDe.get(1)
可能是 7.
如果我只发送一个包含两个 Integer 对象的列表,则此函数有效。我想要的是能够发送一个包含 n 个对象的列表,而不必在谓词中添加 || multiplosDe.get(2)
。
public long sumaDeMultiplos(List<Integer> multiplosDe) {
int suma = 0;
IntPredicate predicate = s -> (s%multiplosDe.get(0)==0 || s%multiplosDe.get(1)==0);
suma = IntStream.range(3, 1000).filter(predicate).sum();
return suma;
}
IntPredicate predicate = s -> multiplosDe.stream().anyMatch(i -> s % i == 0);
以下方法的功能是尝试通过添加两个数字的倍数来遍历从 3 到 999 的列表,其中 multiplosDe.get(0)
可能是 4,multiplosDe.get(1)
可能是 7.
如果我只发送一个包含两个 Integer 对象的列表,则此函数有效。我想要的是能够发送一个包含 n 个对象的列表,而不必在谓词中添加 || multiplosDe.get(2)
。
public long sumaDeMultiplos(List<Integer> multiplosDe) {
int suma = 0;
IntPredicate predicate = s -> (s%multiplosDe.get(0)==0 || s%multiplosDe.get(1)==0);
suma = IntStream.range(3, 1000).filter(predicate).sum();
return suma;
}
IntPredicate predicate = s -> multiplosDe.stream().anyMatch(i -> s % i == 0);