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

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

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

    posts - 431,  comments - 344,  trackbacks - 0
    今天看別人寫的代碼, 其中使用了兩種Map子類, IdentityHashMap和WeakHashMap, 經查看JDK文檔得知:
    IdentityHashMap
    此類利用哈希表實現 Map 接口,比較鍵(和值)時使用引用相等性代替對象相等性。換句話說,在 IdentityHashMap 中,當且僅當 (k1==k2) 時,才認為兩個鍵 k1k2 相等(在正常 Map 實現(如 HashMap)中,當且僅當滿足下列條件時才認為兩個鍵 k1k2 相等:(k1==null ? k2==null : e1.equals(e2)))。
    也就是說, 如果Key是同一個對象才算是鍵相等, 如果只是值相等, 那么不算相等.
    比如
      Map<Pet, String> map = new IdentityHashMap<Pet, String>();
      Pet p = new Pet("eric");
      map.put(new Pet("eric"), "eric");
      map.put(new Pet("eric"), "hello");
      System.out.println("size = " + map.size());
      
      Map<Pet, String> hashMap = new HashMap<Pet, String>();
      hashMap.put(new Pet("eric"), "eric");
      hashMap.put(new Pet("eric"), "hello");
      System.out.println("hashMap size = " + hashMap.size());
    Pet中的equals中只要name相等, 就算這兩個pet對象相等. 執行結果為:
    size = 2
    hashMap size = 1

    WeakHashMap
    弱鍵 實現的基于哈希表的 Map。在 WeakHashMap 中,當某個鍵不再正常使用時,將自動移除其條目。更精確地說,對于一個給定的鍵,其映射的存在并不阻止垃圾回收器對該鍵的丟棄,這就使該鍵成為可終止的,被終止,然后被回收。丟棄某個鍵時,其條目從映射中有效地移除,因此,該類的行為與其他的 Map 實現有所不同。
    其實就是除了本map引用以外, 沒有其他對象引用該key對象, 則WeakHashMap會自動移除這個key以及對應的值.
    posted on 2009-05-15 16:54 周銳 閱讀(1495) 評論(5)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 精品成人一区二区三区免费视频 | 在线观看特色大片免费视频| 污视频网站免费观看| 亚洲成电影在线观看青青 | 无码人妻一区二区三区免费n鬼沢 无码人妻一区二区三区免费看 | 亚洲乱妇熟女爽到高潮的片| 亚洲国产成人久久综合一| AV在线亚洲男人的天堂| 性做久久久久免费看| 福利免费观看午夜体检区| 午夜精品一区二区三区免费视频| xxxxx做受大片视频免费| 国产亚洲蜜芽精品久久| 亚洲国产日韩视频观看| 亚洲精品高清国产麻豆专区| 亚洲成AV人片一区二区| 在线亚洲午夜理论AV大片| 亚洲日韩人妻第一页| 亚洲国产一区二区视频网站| 免费v片视频在线观看视频| 免费黄色毛片视频| 我要看WWW免费看插插视频| 青草草色A免费观看在线| 毛片免费全部播放无码| 最近2019免费中文字幕视频三| 久久国产精品一区免费下载| 搡女人免费免费视频观看| 国产黄在线播放免费观看| 国产区在线免费观看| 国产97视频人人做人人爱免费| yellow视频免费看| 男人天堂免费视频| 四虎影视成人永久免费观看视频 | 国产2021精品视频免费播放| 亚洲精品视频在线免费| 91成人免费观看网站| 免费无码AV电影在线观看| 女人18一级毛片免费观看| 国产成人aaa在线视频免费观看 | 亚洲高清无在码在线无弹窗 | 欧美三级在线电影免费|