ฉันต้องการแปลง:
Map<String, Map<String, List<Map<String, String>>>> inputMap
ถึง:
Map<String, Map<String, CustomObject>> customMap
inputMap
มีให้ในการกำหนดค่าและพร้อม แต่ฉันต้องการcustomMap
จัดรูปแบบ CustomObject จะได้มาจากการList<Map<String, String>>
ใช้โค้ดไม่กี่บรรทัดในฟังก์ชั่น
ฉันได้ลองวิธีการทำแผนที่อินพุตซ้ำและคัดลอกค่าคีย์ใน customMap แล้ว มีวิธีที่มีประสิทธิภาพในการทำเช่นนั้นโดยใช้ Java 8 หรือทางลัดอื่น ๆ ?
Map<String, Map<String, List<Map<String, String>>>> configuredMap = new HashMap<>();
Map<String, Map<String, CustomObj>> finalMap = new HashMap<>();
for (Map.Entry<String, Map<String, List<Map<String, String>>>> attributeEntry : configuredMap.entrySet()) {
Map<String, CustomObj> innerMap = new HashMap<>();
for (Map.Entry<String, List<Map<String, String>>> valueEntry : attributeEntry.getValue().entrySet()) {
innerMap.put(valueEntry.getKey(), getCustomeObj(valueEntry.getValue()));
}
finalMap.put(attributeEntry.getKey(), innerMap);
}
private CustomObj getCustomeObj(List<Map<String, String>> list) {
return new CustomObj();
}