A、等幂性。不管执行多少次获取Hash值的操作,只要对象不变,那么Hash值是固定的。如果第一次取跟第N次取不一样,那就用起来很麻烦.
B、对等性。若两个对象equal方法返回为true,则其hash值也应该是一样的。举例说明:若你将objA作为key存入HashMap中,然后new了一个objB。在你看来objB和objA是一个东西(因为他们equal),但是使用objB到hashMap中却取不出来东西。
C、互异性。若两个对象equal方法返回为lse,hash值有可能相同,但最好是不同的,这个不是必须的,只是这样做会提高hash类操作的性能(碰撞几率低)。
在jdk8中,仍然会根据key.hashCode()计算出hash值,再通过这个hash值去定位这个key,但是不同的是,当发生冲突时,会采用链表和红黑树两种方法去处理,当结点个数较少时用链表(用Node存储),个数较多时用红黑树(用TreeNode存储),同时结点也不叫Entry了,而是分成了Node和TreeNode。再最坏的情况下,链表查找的时间复杂度为O(n),而红黑树一直是O(logn),这样会提高HashMap的效率。
jdk8中的HashMap中定义了一个变量TREEIFY_THRESHOLD,当节点个数= TREEIFY_THRESHOLD - 1时,HashMap将采用红黑树存储
:
推荐:
牛娃闯都市,诀别诗卓文君,悍马h10报价,高官前夫别来无恙,江陵肃是谁的孙子,落梅沁 雪,恶少的毒爱,色五月 干什么,美少女被虐饲育记,隔世离空的红颜原唱,女总统音译歌词, 女人你敢甩我,我的泪珠儿演员表,恶魔军官放我走,木已成舟下一句,暴露狂楠楠,365式性姿 势,不想骗自己英文版,花开在古代,9a撸霸,残虐女犯人刑务所,血泣五胡,乔榛近况,综漫之 逐艳曲,终极一班苏教官,吾组词,www.169mm.cc,恶女绿萍,盲目的救赎,徐其耀玩过的女人, 村上真依,痒孟楠,天字号大纨绔,庞青云原型,风尘女教师,刘瑞龙简历,玩火娇妻,安住凉子, 王爷的倔宠儿,169mm.cc,清穿之永日清茶,绝色倾权,青春出动吻戏,李富春简历,左葳葳,色 少林,妓中技,punisher全cg存档,华能吧,东风东路小学班级网站,橘黄刺杯菌,冰峰魔恋mp3, 武则天传位于谁,夏耕是谁的女婿,屎球吧,热吻野男人,曹征平简历,大铁人17号,翻身弃妇太 撩人,网王之恋猫物语