不行,hashtable的key和value都不能是null。hashtable上来就调key的hashcode。
hashtable方法带有synchronized:线程安全。但是线程安全有其他方案,hashtable效率较低使用较少。
Hashtable底层还是哈希表。hashtable的初始化是11,加载因子是0.75.扩容是:乘二再加一
package collection; import java.util.HashMap; import java.util.Map; public class HashMapTest03 { public static void main(String[] args) { Map map = new HashMap<>(); map.put(null,null); System.out.println(map.size()); //1 map.put(null,100); System.out.println(map.size());//1 //通过key获取value System.out.println(map.get(null)); //100 } } package collection; import java.util.Hashtable; import java.util.Map; public class HashtableTest01 { public static void main(String[] args) { Map map = new Hashtable(); map.put(null,"123"); //报错 } }