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

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

問題描述

環(huán)境:jdk1.8問題:學(xué)習(xí)HashMap的時(shí)候發(fā)現(xiàn)在putVal方法的最后調(diào)用了afterNodeInsertion方法

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

又去搜索一下afterNodeInsertion方法,發(fā)現(xiàn)不少地方都調(diào)用了它,但是它的實(shí)現(xiàn)卻是

void afterNodeInsertion(boolean evict) { }

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

問題解答

回答1:

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

源碼中其實(shí)已經(jīng)說了,這個(gè)三個(gè)方法都是為了繼承HashMap的LinkedHashMap類服務(wù)的。

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

LinkedHashMap中被覆蓋的afterNodeInsertion方法,用來回調(diào)移除最早放入Map的對(duì)象

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); }}

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 国内在线网友露脸自拍 | 青青青青青免精品视频 | 欧美日韩亚 | 久久91精品久久91综合 | 国产欧美一区二区三区免费 | 久久免费视频3 | 国产日产久久 | 亚洲毛片网站 | 九九热视频精品在线 | 全黄一级裸片视频在线观看 | 自拍亚洲国产 | 国产乱码精品一区二区三区卡 | 深夜偷偷看视频在线观看 | 三级黄色在线视频 | 成人免费xxxxx在线视频 | 黑人狂躁日本妞 | 国产手机精品自拍视频 | 久久成人激情视频 | 全黄性性激高免费视频 | 日本一级毛片免费看 | 狠狠久久亚洲欧美专区 | aa国产| 中国一级做a爰片久久毛片 中国一级做a爱片免费 | 999yy成年在线视频免费看 | 久久97久久 | 国产精品伦理一二三区伦理 | 国产精品素人搭讪在线播放 | 福利片第一页 | 亚洲第五页 | 欧美激情综合亚洲一二区 | 国产成人高清精品免费5388密 | 国产亚洲一区二区精品张柏芝 | 欧美噜噜噜 | 国产肥老妇视频∵ | 免费一级片网站 | 日本五级黄色片 | 成人午夜在线观看国产 | 国产美女一级特黄毛片 | 亚洲综合激情六月婷婷在线观看 | 久草中文在线视频 | 亚洲欧洲一二三区机械有限公司 |