加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 模式 > 正文

太刺激了,面试官让我手写跳表,而我用两种实现方式吊打了TA!

发布时间:2020-09-11 18:11:47 所属栏目:模式 来源:51cto
导读:上一节,我们一起学习了关于跳表的理论知识,相信通过上一节的学习,你一定可以给面试官完完整整地讲清楚跳表的来龙去脉,甚至能够边讲边画图。 然而,面试官说,既然你这么精通跳表,不如实现一个呗^^ 我,我,实现就实现,谁怕谁,哼~~ 本节,我将通过两

// 跳表化 private void skiplistify(Node<K, V>[] table, int hash) {     if (table == null || table.length < MIN_SKIPLISTIFY_CAPACITY) {         resize();     } else {         SkiplistNode<K, V> head = new SkiplistNode<>(0, null, null, 1);         int i = hash & (table.length-1);         Node<K, V> p = table[i];         do {             head.putValue(p.hash, p.key, p.value);         } while ((p=p.next) != null);         table[i] = head;     } } 

好了,关于跳表实现的HashMap我们就介绍完了。

最后一个问题

不管从原理还是实现过程,跳表都要比红黑树要简单不少,为什么JDK中不使用跳表而是使用红黑树来实现HashMap呢?

其实这个问题挺不好回答的,我在给自己挖坑,我简单从以下几个方面分析一下:

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读