Ich brauche Hilfe beim Mapping a Map<String, List<Fee>>
mit a List<FeeRequest>
.
Fee
Objekt sieht so aus:
private String feeCode;
FeeRequest
Objekte sieht so aus:
private String feeCode;
private String debtorAccount;
Ich muss also Folgendes abbilden:
String DebitorAccount (aus Karte) -> DebtorAccount (aus Liste)
feeCode (aus Liste von Karte) -> feeCode (aus Liste)
Ich möchte versuchen, Funktionen nicht zu verwenden foreach
, sondern zu lernen, sie richtig zu verwenden .stream().map()
.
Was ich geschafft habe:
Map<String, List<Fee>> feeAccounts
wird von einer anderen Methode analysiert.
List<FeeRequest> feeRequests = feeAccounts.entrySet().stream().map(feeAcc -> {
FeeRequest request = new FeeRequest();
request.setDebtorAccount(feeAcc.getKey());
request.setFeeCode(...);
return request;
}).collect(Collectors.toList());
Ich denke, dass mein Ansatz schlecht ist, aber ich weiß nicht, wie ich ihn zum Laufen bringen soll. Ich habe versucht, einige Beispiele zu betrachten, aber sie sind zu einfach. Ich würde mich also über jede Hilfe freuen. Vielen Dank!
Wenn jede Fee
Instanz eine FeeRequest
Instanz generieren soll , benötigen Sie flatMap
:
List<FeeRequest> feeRequests =
feeAccounts.entrySet()
.stream()
.flatMap(feeAcc -> feeAcc.getValue()
.stream()
.map(f -> {
FeeRequest request = new FeeRequest();
request.setDebtorAccount(feeAcc.getKey());
request.setFeeCode(f.getCode());
return request;
}))
.collect(Collectors.toList());
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen