У меня есть hashmap, который содержит 10 дочерних hashmap, каждый из этих 5 дочерних hashmap сопоставляется с массивом String.Когда я хочу обновить значение для конкретного ключа из дочернего хеш-карты, вместо этого обновляются все ключи;не только это, но и все дочерние хэш-карты также обновляются.Этот код иллюстрирует то, что я делаю.
HashMap<String, HashMap<String, String[]>> parentMap = new HashMap<String, HashMap<String, String[]>>();
for(String x : someArray){ // Adds 10 children hashmaps to parentMap
parentMap.put(x,new HashMap<String, String[]>());
for(String y : someOtherArray){ // Creates 5 keys for each of the children hashmaps
parentMap.get(x).put(y,stringArray);
}
}
parentMap.get(someKey).put(someOtherKey,modifiedArray); // This updates the entry I want to update.
Когда я обновляюсь с помощью этой последней инструкции, я хочу обновить именно этот ключ, однако вместо этого все обновляется, обновляются все ключи для всех дочерних хэш-картвместо того, который я хочу.
Надеюсь, это имеет смысл, я не уверен, что это правильный подход для этого, но я искал в Интернете какие-нибудь советы о том, как сделать что-то подобное без удачи.Я не очень хорош с Java, если я смогу достичь того же результата с помощью чего-то более простого, это будет приветствоваться, обратите внимание, что я не могу использовать List или что-то в этом роде, так как он использует индексы int, мне нужно сослатьсяк моим объектам, используя строку (например, словарь на Python).