小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Java中HashCode()方法

 moonboat 2011-10-08
1.hashcode()到底是干什么用的?好像是和數(shù)據(jù)結(jié)構(gòu)的hash表有關(guān)?java對(duì)象怎么會(huì)和hash表有關(guān)的?java中的對(duì)象都是存在一個(gè)hash表中嗎?   
    
  當(dāng)你的對(duì)象存儲(chǔ)在HashSet,HashMap,HsahTable等以hash表為工作機(jī)制的容器的時(shí)候   你才需要關(guān)心這個(gè)函數(shù),不是java中對(duì)象都是存在一個(gè)hash表里面   
    
  2.為什么a.equal(b)==true則必定a.hashcode()==b.hashcode()。equal代表內(nèi)容,hashcode代表內(nèi)存地址,難道我理解錯(cuò)了嗎?   
      
  誰說equals是比較內(nèi)容的,默認(rèn)的equals   就是與   ==   一樣的效果   
    
    
  3.很多類都重寫了hashcode,比如Integer.hashcode返回的是Integer的intValue。他們?yōu)槭裁匆貙懩兀?  
    
  就是因?yàn)镮nteger重寫了equals()   方法   ,所以要重寫hsahCode(),以保證a.equals(b)   為true時(shí)候,有a==b;重寫只要為了滿足可能把Integer對(duì)象放到hash容器里面   
    
  4.有人說a.equal(b)==true則必定a.hashcode()==b.hashcode();反之 a.hashcode()==b.hashcode()則不一定a.equal(b)==true;   那奇怪了,hashcode豈不是毫無用處了?大家都用hashcode做什么呢?   
    
  用hsahCode()主要是支持hash容器的正確運(yùn)行,hash容器根據(jù)hashCode決定對(duì)象的存儲(chǔ)位置   
  hash容器速度比較快    

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多