此问题已在此处找到答案:
根据流api的条件将列表拆分为子列表(8个答案)
两天前关门了。
我需要使用stream().reduce()基于 predicate 创建两个列表。我有一个类似的代码,但它不工作。
localRequestDTOList.stream().reduce((res, item) ->{
res[predicate(item) ? 'a' : 'b'].push(item);
return res;
}, { a: [], b: [] });
predicate 如下所示。
public static Predicate<LocalRequestDTO> payToVendor() {
return request -> (request.getSuffix().equals("00"));
}
我想从localrequestdtolist创建两个列表,条件是 request.getsuffix().equals("00")
或者不是。我只是将这两个列表作为 a
及 b
.
1条答案
按热度按时间wbgh16ku1#
您询问了如何使用
reduce
. 这就像问如何用螺丝刀钉钉子。最好使用正确的方法。如果你能用
collect()
然后你可以利用Collectors.partitioningBy()
: