Код: Выделить всё
AchFile dataRoot = unmarshalled.stream().findFirst().get();
List batches = dataRoot.getBatchRecords();
//batches.stream().flatMap(b -> b.getBatchEntries().stream().flatMap(e -> e.getBatchEntryDetails().stream().map(d -> d.setReceivingIndividualCompanyName("Client"))));
for (AchBatch batch : batches) {
int cntr = 1;
for (AchBatchEntry entry : batch.getBatchEntries()) {
Iterator it = entry.getBatchEntryDetails().iterator();
for (; it.hasNext(); cntr++ ) {
AchBatchEntryDetail detail = it.next();
detail.setReceivingIndividualCompanyName("Client Name"+cntr);
detail.setAmount(detail.getAmount());
String maskedAccount = randomizeAccountNumber(detail);
detail.setDfiAccountNumber(maskedAccount);
log.info("Masked detail record #{}", cntr);
}
}
}
Я начал применять FlatMap вместе с обычными операциями с картой (как видно из закомментированной части), но я не совсем уверен, что нахожусь на правильном пути, и был бы признателен за некоторые рекомендации.
Подробнее здесь: https://stackoverflow.com/questions/772 ... -operators
Мобильная версия