亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:104日期: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
相關文章:
主站蜘蛛池模板: 久久er热在这里只有精品85 | 欧美中文字幕第一页 | 中国淫片| 黄色a级片免费 | 国产无限资源在线观看 | 成人免费激情视频 | 日韩一区二区三区在线视频 | 亚洲国产成人久久精品影视 | 男女激情视频国产免费观看 | 久久香蕉国产在产线看观看 | 草草影院欧美 | 国产精品五月色六月婷婷 | 丁香天堂 | 一本久道热中字伊人 | 日本玖玖视频 | 青草国产精品久久久久久 | 国产精品单位女同事在线 | 插插宗合网 | 黄影院 | 国产精品久久久久9999赢消 | 亚洲国产天堂久久综合 | 欧美日韩国产在线人成 | 日韩欧美一区二区三区不卡视频 | 在线观看免费国产视频 | 极品蜜桃臀美女啪啪 | 日本欧美国产精品第一页久久 | 亚洲精品久久99久久一 | 久久草网站| 中日韩美中文字幕 | 小泽玛利亚在线精品一区二区 | 国产簧片在线观看 | 日韩免费一级毛片欧美一级日韩片 | 97视频在线免费观看 | 经典香港一级a毛片免费看 春水堂在线 | 黄色一区二区三区 | www国产精品 | a级黄色网址 | 97超级碰碰碰久久久观看 | 国产精品麻豆高清在线观看 | 国内精品视频一区二区三区 | 欧美一级淫片a免费播放口aaa |