Java에서 개체가 HashMap<String, Object>
인 HashMap<String, Object>
을 검색하려고합니다.HashMaps 탐색의 HashMap
주어진 키를 사용하여 찾을 수있는 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의 Hashmap을 어떻게 트래버스합니까? 더 나은 접근 방법은 무엇입니까?
당신이 객체가'HashMap' 있는지 확인하려면 HashMap' instanceof를'객체를 사용 : 다음
key
를 검색 할 수 있습니다, 당신의 '외부'의 HashMap에 대한 사용HashMap<String, HashMap<String, Object>> main
시도 그런 이름은 매우 나쁜 생각입니다. 특히 잘못하고 있기 때문에 (equals를 사용해야합니다.) 그럼에도 불구하고, 어떤 것이 'HashMap'인지 특별히 신경 쓰면 안된다. Map 만 구현하면 충분하다. – ColinD조언 해 주셔서 감사합니다. 나는 그것을 수정했다! –