最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

HashMap内部是如何实现的?

来源:动视网 责编:小OO 时间:2024-12-21 11:34:17
文档

HashMap内部是如何实现的?

HashMap并不保证映射的顺序,特别是该顺序不会恒久不变。哈希函数会将元素适当地分布在各桶之间,为基本操作(get和put)提供稳定的性能。迭代collection视图所需的时间与HashMap实例的容量(桶的数量)和大小(键-值映射关系数)成比例。HashMap有两个参数影响其性能:初始容量和加载因子。容量是哈希表中桶的数量,初始容量只是哈希表在创建时的容量。加载因子是哈希表在其容量自动增加之前可以达到多满的一种尺度。当哈希表中的条目数超出了加载因子与当前容量的乘积时,则要对该哈希表进行rehash操作,即重建内部数据结构,从而哈希表将具有大约两倍的桶数。
推荐度:
导读HashMap并不保证映射的顺序,特别是该顺序不会恒久不变。哈希函数会将元素适当地分布在各桶之间,为基本操作(get和put)提供稳定的性能。迭代collection视图所需的时间与HashMap实例的容量(桶的数量)和大小(键-值映射关系数)成比例。HashMap有两个参数影响其性能:初始容量和加载因子。容量是哈希表中桶的数量,初始容量只是哈希表在创建时的容量。加载因子是哈希表在其容量自动增加之前可以达到多满的一种尺度。当哈希表中的条目数超出了加载因子与当前容量的乘积时,则要对该哈希表进行rehash操作,即重建内部数据结构,从而哈希表将具有大约两倍的桶数。


HashMap是一种基于哈希表的Map接口实现,它提供了所有可选映射操作,并允许使用null值和null键。除了非同步和允许使用null之外,HashMap与Hashtable非常相似。

HashMap并不保证映射的顺序,特别是该顺序不会恒久不变。哈希函数会将元素适当地分布在各桶之间,为基本操作(get和put)提供稳定的性能。迭代collection视图所需的时间与HashMap实例的容量(桶的数量)和大小(键-值映射关系数)成比例。

HashMap有两个参数影响其性能:初始容量和加载因子。容量是哈希表中桶的数量,初始容量只是哈希表在创建时的容量。加载因子是哈希表在其容量自动增加之前可以达到多满的一种尺度。当哈希表中的条目数超出了加载因子与当前容量的乘积时,则要对该哈希表进行rehash操作,即重建内部数据结构,从而哈希表将具有大约两倍的桶数。

默认加载因子为0.75,在时间和空间成本上寻求一种折衷。加载因子过高虽然减少了空间开销,但同时也增加了查询成本。在设置初始容量时应该考虑到映射中所需的条目数及其加载因子,以便最大限度地减少rehash操作次数。

如果很多映射关系要存储在HashMap实例中,则相对于按需执行自动的rehash操作以增大表的容量来说,使用足够大的初始容量创建它将使得映射关系能更有效地存储。

HashMap不是同步的。如果多个线程同时访问一个哈希映射,而其中至少一个线程从结构上修改了该映射,则需要保持外部同步。

由所有此类的“collection视图方法”所返回的迭代器都是快速失败的:在迭代器创建之后,如果从结构上对映射进行修改,除非通过迭代器本身的remove方法,其他任何时间任何方式的修改,迭代器都将抛出ConcurrentModificationException。

文档

HashMap内部是如何实现的?

HashMap并不保证映射的顺序,特别是该顺序不会恒久不变。哈希函数会将元素适当地分布在各桶之间,为基本操作(get和put)提供稳定的性能。迭代collection视图所需的时间与HashMap实例的容量(桶的数量)和大小(键-值映射关系数)成比例。HashMap有两个参数影响其性能:初始容量和加载因子。容量是哈希表中桶的数量,初始容量只是哈希表在创建时的容量。加载因子是哈希表在其容量自动增加之前可以达到多满的一种尺度。当哈希表中的条目数超出了加载因子与当前容量的乘积时,则要对该哈希表进行rehash操作,即重建内部数据结构,从而哈希表将具有大约两倍的桶数。
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top