Ich möchte konvertieren:
Map<String, Map<String, List<Map<String, String>>>> inputMap
zu:
Map<String, Map<String, CustomObject>> customMap
inputMap
wird in der Konfiguration bereitgestellt und ist bereit, aber ich muss customMap
formatieren. CustomObject wird aus der List<Map<String, String>>
Verwendung weniger Codezeilen in einer Funktion abgeleitet.
Ich habe versucht, die Eingabekarte auf normale Weise zu iterieren und Schlüsselwerte in customMap zu kopieren. Gibt es eine effiziente Möglichkeit, dies mit Java 8 oder einer anderen Verknüpfung zu tun?
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();
}