我是Java的新手。如果你的答案考虑到这种情况,我会很感激。
我有疑问,我想开发一个关于扩展hashmap以添加putchildren方法的程序。我写了一些东西。
我的问题是:
任务是扩展HashMap以包含HashMaps作为对象。所以,这个内部hashMap也可以有键值对。它将像深度为2的树。完成方法数据后
Key1 = "RUBY" value=HashMap which has -> "key2" = 5248 && "VALUE" = German
Key1 = "PYTHON" value=HashMap which has -> "key2" = 1234 && -> "VALUE" = German
你将实现一个带有3个参数的putChildrenValue方法,String key,String key,Object 值。它将相应地存储系统。
我的代码是:
public class ExtHashMap<K1, K2, V> extends HashMap<K1, HashMap<K2, V>>
{
private static final long serialVersionUID = 1L;
public ExtHashMap() {
super();
}
public void putChildrenValue(K1 key1, K2 key2, V value) {
HashMap<K2, V> childMap = get(key2);
if (childMap == null) {
childMap = new HashMap<K2, V>();
put(key1, childMap);
}
childMap.put(key2, value);
}
}
我运行代码,在选择Run as Java Application之后,Eclipse说=“选择不包含主类型”
答案 0 :(得分:1)
您的陈述
HashMap childMap = get(key2);
应该是
HashMap childMap = get(key1);
当您尝试加载主地图时。