В Java я пытаюсь получить HashMap<String, Object>
, у которого есть объект, который: HashMap<String, Object>
.
Я реализовал рекурсивную функцию, которая возвращает либо HashMap<String, Object>
, найденное с данным ключом, либо null
, если ключ не был найден.
Вот функция:
public static HashMap<String, Object> getHashMap(HashMap<String,
Object> map, String key)
{
for (Map.Entry<String, Object> entry : map.entrySet()) {
if (entry.getValue().getClass().getName() == "java.util.HashMap") {
if (entry.getKey() == key)
return (HashMap<String, Object>) entry.getValue();
return getHashMap((HashMap<String, Object>) entry.getValue(), key);
}
}
return null;
}
Работает только для первого элемента.Как пройти хэш-карту HashMaps?Какой подход лучше?