首页 > 编程知识 正文

map集合面试题,hashmap和set的区别

时间:2023-05-05 14:06:13 阅读:51088 作者:1869

1 .两者的存储结构和解决冲突的方法相同。

2、继承的父类不同: Hashtable从Dictionary类继承,HashMap从AbstractMap类继承。 但是,两者都实现了Map接口。

3.HashTable中key和value都不允许空值,而HashMap中key和value都允许空值。 (只有一个key可以为空,而多个value可以为空。)。 但是,如果Hashtable中存在类似put(null,null )的操作,也可以通过编译。 因为key和value都是Object类型,但在运行时会抛出NullPointerException异常。

4 .如果未指定用于内部实现的数组初始化和扩展方法不同的:HashTable容量,则默认容量为11,而HashMap为16。 Hashtable不需要基本数组的容量必须是2的整数次幂,HashMap必须是2的整数次幂。 对于Hashtable扩展,将容量更改为两倍1;对于HashMap扩展,将容量更改为两倍。

5、线程安全不同: Hashtable是线程安全的,HashMap不是线程安全的。 Hashtable的实现方法中添加了同步关键字,以确保线程同步。 因此,HashMap的性能相对较高。 如果我们平时没有特殊需求,我们建议使用HashMap

hashmap在java7和java8中有区别。 想具体详细了解的人请读这篇文章

3359 blog.csdn.net/bird _ TP/article/details/112600190

如果您想轻松了解hashmap,请阅读本文

3359 blog.csdn.net/weixin _ 35586546/article/details/81153793? spm=1001.2014.3001.5501

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。