<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    hashCode 方法實現(xiàn)規(guī)則

    1、把某個非零常數(shù)值,比如說17,保存在一個叫result 的int 類型的變量值中。

    2、對于對象中的每一個關(guān)鍵域f (指equals 方法中考慮的每一個域),完成以下步驟:

    • 為該域計算int 類型的散列碼c:
      • 如果該域是boolean 類型,則計算(f ? 1 : 0);
      • 如果該域是byte、char、short 或者int 類型,則計算(int)f;
      • 如果該域是long 類型,則計算(int)(f ^ (f >>> 32));
      • 如果該域是float 類型,則計算Float.floatToIntBits(f);
      • 如果該域是double 類型,則計算Double.doubleToLongBits(f) 得到一個long 類型的值,然后按照步驟2.a.iii 對該long 類型計算散列值;
      • 如 果該域是一個對象引用,并且該類的equals 方法通過遞歸調(diào)用equals 的方式來比較這個域,則同樣對這個域遞歸調(diào)用hashCode 方法;如果要求一個更為復雜的比較,則為這個域計算一個“規(guī)范表示”,然后針對這個規(guī)范表示調(diào)用hashCode。如果這個域的值為null,則返回0;
      • 如果該域是一個數(shù)組,則把每一個元素當做單獨的域來處理。然后根據(jù)步驟2.b 中的做法把這些散列值組合起來。

    • 按照下面的公式,把步驟a 中計算得到的散列碼c 組合到result 中:
      result = 37 * result + c;

    3、返回result 值。

    注:根據(jù)實踐經(jīng)驗,在對ASCII 串的散列函數(shù)中,31 和37 是很好的散列因子。

    posted on 2006-09-13 18:33 JRobot 閱讀(281) 評論(0)  編輯  收藏 所屬分類: java_基礎(chǔ)

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 国产精品亚洲精品日韩动图| 久久久久成人片免费观看蜜芽| 亚洲综合精品网站| 国产特黄特色的大片观看免费视频| 亚洲日韩国产精品第一页一区| 中文字幕视频免费| 美女视频免费看一区二区| 亚洲精品无码永久在线观看你懂的 | 国产亚洲精品a在线观看app| 69视频在线是免费观看| 亚洲A∨精品一区二区三区下载| 亚洲视频在线精品| 国产a视频精品免费观看| 四虎精品成人免费视频| 亚洲黄色免费网站| 亚洲av中文无码| 亚洲日本在线免费观看| 一级毛片成人免费看a| 亚洲成人免费在线观看| 亚洲精品国产精品乱码不卞 | 日韩成全视频观看免费观看高清| 成人无码区免费A∨直播| 亚洲国产日韩视频观看| 亚洲成AV人片在线观看ww| 免费观看男人免费桶女人视频| 国产精品99久久免费观看| 久久精品亚洲日本波多野结衣| 亚洲一级二级三级不卡| 亚洲精品456播放| 女人毛片a级大学毛片免费| 国产精品视频白浆免费视频| 黄色a三级免费看| 亚洲黄色激情视频| 久久青青草原亚洲av无码app | 四虎www成人影院免费观看| 国产精品白浆在线观看免费| 国产精品免费视频观看拍拍| 最新亚洲人成网站在线观看| 亚洲fuli在线观看| 久久精品国产亚洲AV大全| 亚洲成AV人在线播放无码|