ฉันจะหลีกเลี่ยงการทำซ้ำรหัสเริ่มต้น hashmap ของ hashmap ได้อย่างไร
ลูกค้าทุกคนมีรหัสและใบแจ้งหนี้จำนวนมากที่มีวันที่เก็บไว้เป็น Hashmap ของลูกค้าโดย id ของ hashmap ของใบแจ้งหนี้ตามวันที่: 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 ดูเหมือนว่าจะใช้getOrDefault: HashMap<LocalDateTime, Invoice> allInvoices = allInvoicesAllClients.getOrDefault( id, new HashMap<LocalDateTime, Invoice> (){{ put(date, invoice); }} ); แต่ถ้ารับไม่เป็นโมฆะฉันยังต้องการใส่ (วันที่ใบแจ้งหนี้) เพื่อดำเนินการและเพิ่มข้อมูลไปที่ "allInvoicesAllClients" …