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

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

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

    咖啡伴侶

    呆在上海
    posts - 163, comments - 156, trackbacks - 0, articles - 2

    Hash code

    Posted on 2010-03-03 16:03 oathleo 閱讀(1685) 評論(4)  編輯  收藏 所屬分類: Java
    如果兩個對象equal,那么它們的hashCode值一定要相同;2、如果兩個對象的hashCode相同,它們并不一定equal

    當Set要添加新的元素時,先調(diào)用這個元素的hashCode方法,就一下子能定位到它應(yīng)該放置的物理位置上。如果這個位置上沒有元素,它就可以直接存儲在 這個位置上,不用再進行任何比較了;如果這個位置上已經(jīng)有元素了,就調(diào)用它的equals方法與新元素進行比較,相同的話就不存了,不相同就散列其它的地址。

    所以兩個不equal的對象,有相同的hash,是可以存進Set的。

    class HashNode {
        int id;
       
        public HashNode(int id){
            this.id = id;
        }
       
        public int hashCode() {
            return id;
        }
       
        public boolean equals(Object obj) {
            return false;
        }
    }

    public class HashTest {

        public static void main(String[] args) {
            HashNode n1 = new HashNode(1);
            HashNode n2 = new HashNode(1);
           
            HashMap map = new HashMap();
            map.put(n1, "111");
            map.put(n2, "222");
           
            System.out.println(n1.equals(n2));
            System.out.println(n1.hashCode() == n2.hashCode());
            System.out.println(map.keySet().size());
        }

    }

    Feedback

    # re: Hash code  回復(fù)  更多評論   

    2010-03-16 21:42 by 張貝貝
    比較兩個對象是不是得重寫equals方法啊?

    # re: Hash code  回復(fù)  更多評論   

    2010-03-17 08:41 by oathleo
    @張貝貝
    比較 是指?如果是內(nèi)容的比較 肯定是要重寫了。這種情況也是最常見的。
    當然如果單純比較 內(nèi)存地址(或者說對象引用本身) 就沒有必要了

    # re: Hash code  回復(fù)  更多評論   

    2010-03-17 20:31 by 張貝貝
    嗯,很對,再問一點,內(nèi)存地址一樣,是不是內(nèi)容就一定一樣了?

    # re: Hash code  回復(fù)  更多評論   

    2010-03-18 18:24 by oathleo
    @張貝貝
    門牌號一樣,房子里面的人必然的一樣。
    主站蜘蛛池模板: 亚洲av永久无码精品表情包| 国产精品无码免费视频二三区| 国产av无码专区亚洲国产精品| 亚洲av中文无码乱人伦在线观看| 4hu四虎最新免费地址| 久久久久亚洲AV片无码| 国产偷伦视频免费观看| 亚洲成a人片在线观看中文动漫 | 狼人大香伊蕉国产WWW亚洲| 性色av免费观看| 亚洲AV女人18毛片水真多| 日本xxwwxxww在线视频免费| 亚洲av日韩精品久久久久久a| 亚洲不卡AV影片在线播放| 午夜在线免费视频 | 污污视频免费观看网站| 亚洲AV无码一区二区三区在线观看 | 国产亚洲精久久久久久无码| 99在线免费观看视频| 亚洲香蕉久久一区二区| 又粗又硬免费毛片| 成人影片一区免费观看| 亚洲综合综合在线| 免费的一级黄色片| a在线视频免费观看在线视频三区| 国产亚洲免费的视频看| 999国内精品永久免费观看| 鲁死你资源站亚洲av| 亚洲精品无码专区久久久| 91免费在线播放| 国产精品亚洲综合| 亚洲AV无码一区二区二三区软件| 国产福利视精品永久免费| 曰批全过程免费视频观看免费软件| 亚洲色大成网站WWW久久九九| 免费看男女下面日出水来| 青娱乐在线免费观看视频| 亚洲视频.com| 亚洲不卡AV影片在线播放| 1000部免费啪啪十八未年禁止观看 | 久久久精品国产亚洲成人满18免费网站|