Her müşterinin bir kimliği ve tarihle birlikte müşterilere kimliğe göre Hashmap olarak depolanan birçok faturası vardır.
HashMap<LocalDateTime, Invoice> allInvoices = allInvoicesAllClients.get(id);
if(allInvoices!=null){
allInvoices.put(date, invoice); //<---REPEATED CODE
}else{
allInvoices = new HashMap<>();
allInvoices.put(date, invoice); //<---REPEATED CODE
allInvoicesAllClients.put(id, allInvoices);
}
Java çözümü aşağıdaki gibi görünüyor getOrDefault
:
HashMap<LocalDateTime, Invoice> allInvoices = allInvoicesAllClients.getOrDefault(
id,
new HashMap<LocalDateTime, Invoice> (){{ put(date, invoice); }}
);
Ancak get boş değilse, hala koymak (tarih, fatura) yürütmek istiyorum ve ayrıca "allInvoicesAllClients" için veri eklemek hala gereklidir. Yani pek yardımcı olmuyor.