package com.soar.map;
import java.util.Hashtable;
public class Demo9_Hashtable {
/*
* 面试题
* HashMap和Hashtable的区别
* 共同点:
* 底层是Hash算法,都是双列集合
* 区别:
* ① HashMap是线程不安全的,效率高,JDK1.2版本
* Hashtable是线程安全的,效率相对低,JDK1.0版本
* ② HashMap可以存储null键和null值
* Hashtable不可以存储null键和null值
*/
public static void main(String[] args) {
/*HashMap<String,Integer> hm = new HashMap<>();
hm.put(null, 23);
System.out.println(hm); //{null=23}
hm.put("李四", null);
System.out.println(hm); //{null=23, 李四=null}*/
Hashtable<String,Integer> ht = new Hashtable<>();
ht.put(null, 23);
System.out.println(ht); //NullPointerException
ht.put("张三", null);
System.out.println(ht); //NullPointerException
}
}
Java_基础—HashMap和Hashtable的区别
最新推荐文章于 2025-12-03 11:42:57 发布
本文探讨了HashMap和Hashtable这两种Java集合类的主要区别。重点对比了它们的线程安全性、效率及对null键值的支持情况,并通过示例代码进行具体说明。
1084

被折叠的 条评论
为什么被折叠?



