प्रत्येक ग्राहक के पास दिनांक के साथ, इनवॉइस का एक आईडी और कई चालान होते हैं, जिन्हें आईडी द्वारा ग्राहकों के हैशमैप के रूप में संग्रहीत किया जाता है, तिथि के आधार पर चालान का
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);
}
जावा समाधान का उपयोग करने के लिए लगता है getOrDefault
:
HashMap<LocalDateTime, Invoice> allInvoices = allInvoicesAllClients.getOrDefault(
id,
new HashMap<LocalDateTime, Invoice> (){{ put(date, invoice); }}
);
लेकिन अगर यह शून्य नहीं है, तो मैं अभी भी निष्पादित करने के लिए पुट (तारीख, चालान) चाहता हूं, और "allInvoicesAllClients" में डेटा जोड़ना अभी भी आवश्यक है। तो यह ज्यादा मदद करने के लिए प्रतीत नहीं होता है।