У меня есть вложенные списки, и я пытаюсь сгруппировать и суммировать, чтобы получить желаемый результат, используя потоки Java и сборщики.При этом я не могу перебрать несколько SubAccounts
.Либо я должен использовать для цикла или какой-то другой логики.Я хочу добиться с помощью потоков API.Есть ли возможность для этого
Map<Long, BigDecimal> assetQuanMap = subAccounts.getAssets.parallelStream().collect(Collectors.groupingBy(Asset::getAssetId, Collectors.reducing(BigDecimal.ZERO, Asset::getQuantity, BigDecimal::add)));
У меня есть следующие классы или представления:
Account
SubAccount1
Assets
1 - 20
2 - 30
3 - 40
SubAccount2
Assets
1 - 10
2 - 5
3 - 3
SubAccount3
1 - 3
2 - 3
3 - 4
Класс счетов выглядит так:
Public class Account{
List<SubAccounts> list;
}
Public Class SubAccounts {
List<Assets> list;
}
Public class Assets{
Long assetId;
BigDecimal quantity ;
}
I 'Я пытаюсь получить результат, как показано ниже на карте.В основном для каждого из субсчетов мне нужно сгруппировать активы на уровне аккаунта, который выглядит примерно так:
1 - 33
2 - 38
3 - 47