男女无遮挡猛进猛出免费视频

发布日期:2022-06-18 17:04    点击次数:103

口试突击:说一下HashMap底层兑现?及元素添加经过?

HashMap 是使用频率最高的数据类型之一,同期亦然口试必问的问题之一,尤其是它的底层兑现旨趣,既是常见的口试题又是融会 HashMap 的基石,是以遑急进程显而易见。

HashMap 底层兑现

HashMap 在 JDK 1.7 和 JDK 1.8 的底层兑现是不相似的,在 JDK 1.7 中,HashMap 使用的是数组 + 链表兑现的,而 JDK 1.8 中使用的是数组 + 链表或红黑树兑现的。HashMap 在 JDK 1.7 中的兑现如下图所示:

HashMap 在 JDK 1.8 中的兑现如下图所示:

咱们本文重心来学习主流版块 JDK 1.8 中的 HashMap。HashMap 中每个元素称之为一个哈希桶(bucket), 性生大片免费观看网站精彩短片哈希桶包含的现实有 4 个:

hash 值 key value next(下一个节点) HashMap 插入经过

HashMap 元素新增的兑现源码如下(下文源码都是基于主流版块 JDK 1.8):

public V put(K key, V value) {     // 对 key 进行哈希操作     return putVal(hash(key), key,男女无遮挡猛进猛出免费视频 value, false, true); } final V putVal(int hash, K key, V value, boolean onlyIfAbsent,                boolean evict) {     Node<K,V>[] tab; Node<K,V> p; int n, i;     // 哈希表为空则创建表     if ((tab = table) == null 




Powered by 东北女人毛多水多牲交视频 @2013-2022 RSS地图 HTML地图