2021-2-27日错题集

本文详细分析了HashMap与Hashtable的区别,包括同步性、线程安全、迭代器类型等方面。同时,解释了字符流与字节流的不同,以及volatile与synchronized在多线程编程中的作用和区别。最后,讨论了Java类加载过程、Applet显示相关方法、重写方法的规则和Servlet过滤器配置。
摘要由CSDN通过智能技术生成

1.关于HashMap和Hashtable正确的说法有(A.C)
A.都实现了Map接口
B.Hashtable类不是同步的,而HashMap类是同步的
C.Hashtable不允许null键或值
D.HashMap不允许null或值
我的答案ABC:
B答案解答:Hashtable类是安全的,而HashMap类没同步
问题考点:两者之间的区别:
HashMap和Hashtable的区别:
(1)HashMap是Hashtable的轻量级实现,它们都实现了Map接口,主要区别在于HashMap允许空(null)键值(key),而Hashtalbe不允许。
(2)HashMap没有contains方法,而是containsValue和containsKey。
(3)Hashtable的方法是线程安全的,而HashMap不是线程安全的。
(4)HashMap使用Iterator,Hashtable使用Enumeration。
(5)HashMap和Hashtable采用的hash/rehash算法都几乎一样,所以性能不会有很大的差异。
(6)在Hashtable中,hash数组默认大小是11,增加的方式是old*2+1。在Has和Map中,hash数组的默认大小是16,而且一定是2的倍数。
(7)hash值的使用不同,Hashtable直接使用对象的hashCode。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值