PFB 问题代码:
公共类测试类{
public static void main(String[] args) {
Map<String,Object> map1 = new HashMap<String,Object>();
Map<String,Object> map2 = new HashMap<String,Object>();
Map<String,Object> map3 = new HashMap<String,Object>();
map1.put("A", "a");
map1.put("B", map2);
map1.put("C", 1);
map2.put("A", "a");
map2.put("B", map3);
map2.put("C", 1);
map3.put("A", "a");
map3.put("B", "b");
map3.put("C", 1);
getValue("B",map1);
}
public static Object getValue(String s, Map<String,Object> map) {
}
这是面试时问到的,我一无所知。面试官希望 getvalue 方法只返回“b”,而它返回完整的 map3 对象值
有人可以帮忙吗
getValue()
的递归解决方案:
map
获取与键 s
关联的 值。
Map
:getValue()
,并带有参数 s
和 值。public static Object getValue(String s, Map<String, Object> map) {
Object value = map.get(s);
if (value instanceof Map) {
return getValue(s, (Map<String, Object>) value);
}
return value;
}