Я работаю над приведенным ниже списком торговых объектов
List<Trades> =
[Fund-A, Broker-A, 100]
[Fund-A, Broker-B, 200]
[Fund-B, Broker-A, 100]
[Fund-C, Broker-D, 300]
List<String> = funds basically (list contains unique values)
[Fund-A]
[Fund-B]
Ожидаемые выходные сделки при совершении сделок (Список) и средства (Список)
[Fund-A, Broker-A, 100]
[Fund-B, Broker-A, 100]
Я могу выполнить простой фильтр наколлекция сделок, которая содержит любой фонд в списке фондов, как показано ниже
trades.stream().filter(x -> funds.contains(x.getfund())).collect(Collectors.toList())
Но это приводит к
[Fund-A, Broker-A, 100]
[Fund-A, Broker-B, 200]
[Fund-B, Broker-A, 100]
Но изо всех сил пытается исключить / исключить эту запись "[Fund-A, Broker-B, 200] ", поскольку у Fund-B нет сделок против Broker-B в сделках.
Дополнительная информация Спасибо за обмен комментариями.В соответствии с просьбой поделиться большей ясностью, результатом должны быть любые сделки с фондом, присутствующим в фондах Set<String>
, а также убедитесь, что если выбран [FUND-A, BROKER-A, 100]
, должна быть запись для FUND-B, ожидающая [FUND-B, BROKER-A, 100]
выводится как
[Fund-A, Broker-A, 100]
[Fund-B, Broker-A, 100]
с [Fund-A, Broker-B, 200]
ИСКЛЮЧЕНО