栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

HashMap与HashTable区别

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

HashMap与HashTable区别

HashMap与HashTable区别

(1)HashMap方法没有synchronized修饰,线程非安全,HashTable线程安全;现在HashTable在开发中很少很少使用。如果你要保证线程安全,推荐使用ConcurrentHashMap
(2)HashMap允许key和value为null,而HashTable不允许。
(3)单线程环境下HashMap效率要比HashTable效率高。
(4)初始容量和扩充容量不同。

  • HashMap创建的时候如果不指定容量大小,初始容量大小为16,之后每次扩充,容量变为原来的2倍;
  • HashTable创建的时候如果不指定容量大小,初始容量大小为11,之后每次扩充,容量会变为2n + 1;

(5)底层数据实现采用 数组+链表的形式
jdk8开始HashMap链表高度到8、数组长度超过64,链表转变为红黑树,元素以内部类Node节点存在

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1004429.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号