美文网首页
如何向老婆解释HashMap

如何向老婆解释HashMap

作者: 老张聊天 | 来源:发表于2020-05-04 10:35 被阅读0次

    ====看视频最好带耳机====

    晚上在家看视频学习中,开了外放,刚好在讲HashMap,老婆在旁边问道:“HashMap是啥?”

    大脑中飞速闪过,前阵子看过另外一篇文章《如何向老婆解释RPC》,文章中作者怕老婆听不懂责罚自己刷碗,很巧妙的用了比喻方式,给老婆解释清楚RPC,最后确难逃刷碗命运的悲惨故事。

    当时我还特意给老婆分享了这篇文章,没想到她今天学以致用了。。致用了。用了。了。

    沉默2秒后......

    “我先去刷碗,回来给你讲讲什么是HashMap!”

    ====刷碗回来后====

    “HashMap ,好比学校的一栋宿舍楼,给学生提供住宿用。假如你是学校领导,你要怎么安排学生住宿呢?”我问老婆。

    “那简单,一个房间安排8个人,满了就继续安排下一个房间。”老婆回答道。

    “那怎么从一堆学生中,挑选8个出来,安排到同一个房间呢?”我追问。

    “我那个时候是相同专业,按照报道时间的先后顺序来的。”老婆答道。

    “我要提升难度咯,给你加一些限制条件,再看看你怎么安排?”我的语气中带着一点小计谋得逞的得意。
    “放马过来!”老婆还未发现我的阴谋。

    ====小阴谋开始=====

    “1、每个房间住的人数不固定。”
    “2、你不知道总共有多少学生,只知道有16间宿舍。”
    “3、每间宿舍人数尽量平均,不能说一个宿舍空着,另一个宿舍住了5,6个人。”

    老婆听完后,脸色开始转变,开始转移话题,“哪里有这么好的学校?”

    我看气氛有些不对,赶紧降低了难度,“给你提个醒啊,比如,每个人的出生月份不一样,我们可以按照月份,1月出生的安排到一起,2月出生的安排到一起。但是一年12个月,这样会空了4个房间。你看要怎么改善下呢?”

    “可以按日子来算啊,1号出生的住一起,2号出生的住一起......17号出生的可以和1号一起住,以此类推啊,你看我是不是很聪明?”

    “对对对,是是是。”我赶紧恭维道。
    “不过,这种分配方法还是有一些问题,第16间宿舍相比其他肯定宽敞,毕竟一个月份没有32天。”

    “那你说咋办?”老婆语气开始转变了。

    ====适可而止====

    我的脑海里闪过计算机中的二进制,位运算,补码,反码,高低位......不行,范围铺太广解释不清了,不能给自己挖坑。

    “代码程序可以做到啊,其实咱们根据学生信息,算出来住哪间宿舍的过程,就是做Hash运算的意思啦。不过程序里面实现的机制比较复杂,都是为了不让学生住的那么挤。”我赶紧开始总结。

    “要真有这么好的学校领导,就好了。我们那个时候8个人挤一个屋子,然后.......”老婆开始回想学生时代的苦日子,我赶紧附和道“这么惨?太难了!真的吗?这样啊,然后呢?”

    我的脑海里却继续蹦出来更多的专业名词,阈值,扩容,转移,rehash,单双向链表,红黑树,并发,unsafe,CAS,各种锁......

    想起家里地还没有拖,还好我适可而止了。。

    相关文章

      网友评论

          本文标题:如何向老婆解释HashMap

          本文链接:https://www.haomeiwen.com/subject/uigjghtx.html