我有一个整数流,我想找到两个数字,其总和等于另一个数字.所以我想出了以下解决方案:
BiPredicate<Integer,Integer> p = (price1,price2) -> price1.intValue() + price2.intValue() == moneyQty; flavoursPrices.filter(p);
但是过滤方法没有收到BiPredicate.为什么不?有什么替代方案?
解决方法
您可以通过
StreamEx library在何处实施解决方案:
StreamEx.ofPairs(prices,(p1,p2) -> p1 + p2 == 5 ? StreamEx.of(p1,p2) : StreamEx.empty()) .flatMap(Function.identity()) .forEach(price -> System.out.println(price));
您可能还想创建自己的类来封装对.