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);