JAVA hashmap.put参数问题

public class S {
HashMap<String,String> hh;
public S()
{
hh=new HashMap<String,String>();

}
}
public class AS {
HashMap<String,S> s;
public AS()
{
S ex=new S();
s.put("sd",ex);
}
}
运行到s.put时就会出现source not found

很明显的错误啊,你的AS类里的对象s根本没有实例化。
温馨提示:内容为网友见解,仅供参考
无其他回答

java hashmap中put参数问题
你的HashMap<String,S> s 的主键是一个String类型,而s.put(s,e) 主键就是s本身,是一个HashMap,这里不对。改成s.put("str",e); 就对了

12. HashMap 的put方法
Java的HashMap的put(K key, V value)方法实现将指定键值对插入哈希表中,若已有相同键则替换其值。流程如下:首先计算键的哈希值,使用hashCode()方法。其次计算键在哈希表中的索引,通过哈希值与哈希表长度减一的与操作。在索引处查找是否已存在相同键。如存在,使用链表存储所有键值对。若链表过长(...

Java HashMap put()方法
这一步骤的目的在于,将key的哈希值与无符号右移16位的值进行异或运算,从而使哈希值更加分散,减少哈希冲突的可能性。首先,调用putVal()方法,在首次调用时对table数组进行初始化。默认情况下,table数组的长度为16。通过将哈希值与(数组长度-1)进行&运算,得到一个数组下标i。如果下标i位置没有元素...

java 在HashMap用put()添加数据报错 java.lang.NullPointerException_百 ...
books是null 显然session中没有, 这样的可能性也有, 你可以先判断一下, 是null则新建 if(books == null) books = new HashMap<>();最后put就不会错了

Java HashMap中put()居然有红线。
额 你定义了泛型 Integer 就必须使用 Integer了 你把1和10缓存 new Integer(1),new Integer(10)

java map .put 方法
Map.Put方法原理:Map将对象table赋值给tab,并以tab是否为空作为是否第一次调用此方法的判断,是则resize()并给tab,n赋值;获取tab的第i个元素:根据 (n - 1) & hash 算法 ,计算出i找到,如果为空,调用newNode() ,赋值给tab第i个;如果不为空,可能存在2种情况:hash值重复了,也就是...

关于java的Map中put()的问题
你定义的类变量没有初始化,当然空指针 定义的时候应该改成private HashMap persontypemap= new HashMap();

Java面试问题:HashMap的底层原理
Java面试问题:HashMap的底层原理JDK1.8中HashMap的put()和get()操作的过程put操作:①首先判断数组是否为空,如果数组为空则进行第一次扩容(resize)②根据key计算hash值并与上数组的长度-1(int index = key.hash

java中map put方法的问题
public static void main(String[] args) { Map<String, List<String>> map = new HashMap<String, List<String>>(); map.put("1", null); List<String> list1 = map.get("1");\/\/存入的是null 取出来肯定也是null ,不管赋给哪个引用变量 if (list1 == null) {\/\/所...

Java中,在HashMap可以用put(Key, Value)添加元素, 如何在LinkedHashMap...
和HashMap方法一样,也是用put添加元素,LinkedHashMap也是java.util.Map的实现类 区别在于 Hashmap 是一个最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。 HashMap最多只允许一条记录的键为Null;允许多条记录的值为 ...

相似回答