Tôi muốn chuyển đổi:
Map<String, Map<String, List<Map<String, String>>>> inputMap
đến:
Map<String, Map<String, CustomObject>> customMap
inputMap
được cung cấp trong cấu hình và sẵn sàng nhưng tôi cần customMap
Định dạng. CustomObject sẽ được bắt nguồn từ List<Map<String, String>>
việc sử dụng một vài dòng mã trong một hàm.
Tôi đã thử một cách thông thường để lặp lại bản đồ đầu vào và sao chép các giá trị chính trong customMap. Có cách nào hiệu quả để làm điều đó bằng cách sử dụng Java 8 hoặc một số phím tắt khác không?
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();
}