手写一个简单的HashMap( 二 )
移除某个节点时 , 如果该key对应的index处没有形成链表 , 那么直接置为null 。 如果存在链表 , 我们需要将目标节点的前驱节点的next引用指向目标节点的后继节点 。 由于我们的Entry节点没有previous引用 , 因此我们要基于目标节点的前驱节点进行操作 , 即:
current.next = current.next.next;
current代表我们要删除的节点的前驱节点 。
还有一些简单的size()、isEmpty()等方法都很简单 , 这里就不再赘述 。 现在 , 我们自定义的MyHashMap基本可以使用了 。
最后关于HashMap的实现 , 还有几点我们没有解决:
NullPointerException
【手写一个简单的HashMap】相信大家自己完成了对HashMap的实现之后 , 对它的原理一定会有更深刻的认识 , 本文如果有错误或是不严谨的地方也欢迎大家指出 。 上述的问题我们接下来再逐步解决 , 至于红黑树 , 我也不会(摊手) 。
- 车企|华为不造车!但任正非加了一个有效期,3年
- 页面|如何简单、快速制作流程图?上班族的画图技巧get
- 同轴心配合|用SolidWorks画一个直角传动,画四个零件就行
- 先别|用了周冬雨的照片,我会成为下一个被告?自媒体创作者先别自乱阵脚
- 丹丹|福佑卡车创始人兼CEO单丹丹:数字领航 驶向下一个十年
- 公式|?有人把 5G 讲得这么简单明了
- 简单|互联网巨头夺走菜贩生计?未必那么简单
- 发展|新基建发展迅猛,必然会是一个巨大的市场机遇
- 简单|密码太难记不住,太简单不安全,怎么办?
- 手机|OPPO手机该如何截屏?四种最简单的方法已汇总!