Hashtable和HashMap的区别

    科技2023-09-25  77

    HashMap 的 key 可以是null吗

    HashMap允许key为null,并且key重复的话value会覆盖。

    Hashtable的key可以是null吗

    不行,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"); //报错 } }
    Processed: 0.022, SQL: 8