成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁技術文章
文章詳情頁

java - HashMap中afterNodeInsertion方法有什么作用呢

瀏覽:119日期:2023-12-08 11:00:55

問題描述

環境:jdk1.8問題:學習HashMap的時候發現在putVal方法的最后調用了afterNodeInsertion方法

... ++modCount; if (++size > threshold)resize(); afterNodeInsertion(evict); return null;

又去搜索一下afterNodeInsertion方法,發現不少地方都調用了它,但是它的實現卻是

void afterNodeInsertion(boolean evict) { }

一個空方法??想知道這個方法到底有什么作用呢?

問題解答

回答1:

// Callbacks to allow LinkedHashMap post-actionsvoid afterNodeAccess(Node<K,V> p) { }void afterNodeInsertion(boolean evict) { }void afterNodeRemoval(Node<K,V> p) { }

源碼中其實已經說了,這個三個方法都是為了繼承HashMap的LinkedHashMap類服務的。

LinkedHashMap 是 HashMap 的一個子類,它保留插入的順序,如果需要輸出的順序和輸入時的相同,那么就選用 LinkedHashMap。

LinkedHashMap中被覆蓋的afterNodeInsertion方法,用來回調移除最早放入Map的對象

void afterNodeInsertion(boolean evict) { // possibly remove eldest LinkedHashMap.Entry<K,V> first; if (evict && (first = head) != null && removeEldestEntry(first)) {K key = first.key;removeNode(hash(key), key, null, false, true); }}

標簽: java
相關文章:
主站蜘蛛池模板: 国产亚洲一级精品久久 | 成人怡红院视频在线观看 | 亚洲第一se情网站 | 国产一区在线播放 | 欧美精品久久久亚洲 | 亚洲日本视频在线观看 | 亚洲日韩精品欧美一区二区一 | 农村三级孕妇视频在线 | 91精品免费看 | 男女午夜免费视频 | 国产精品美女久久久久网站 | 精品在线网站 | 国产精品久久久久国产精品 | 日韩字幕| 国产精品亚洲欧美日韩区 | 色综合91久久精品中文字幕 | 亚洲免费大全 | 欧美精品一级毛片 | 一本久道久久综合婷婷 | 亚洲欧美日韩另类在线 | 欧美老妇b | 日韩免费一级毛片欧美一级日韩片 | 久久机热综合久久国产 | 久久99精品久久久久久久不卡 | 国产精品毛片在线更新 | 国产呦在线观看视频 | 国产成人精品一区二区免费视频 | 在线免费观看成年人视频 | 香港激情黄三级在线视频 | 亚洲国产精品乱码在线观看97 | 欧美一级毛片图 | 欧美三级日韩 | 国产成人福利视频在线观看 | 欧美一级特黄视频 | 国产美女三级做爰 | 美女被男人桶到嗷嗷叫爽网站 | 暖暖视频日韩欧美在线观看 | 日韩一级性生活片 | 99久久综合狠狠综合久久一区 | 久久综久久美利坚合众国 | 成人精品亚洲 |