HashSet 是一個不允許存儲重復元素的集合,它的實現比較簡單,只要理解了 HashMap,HashSet 就水到渠成了。
首先了解下 HashSet 的成員變量:
privatetransientHashMap<E,Object>map;
//DummyvaluetoassociatewithanObjectinthebackingMap
privatestaticfinalObjectPRESENT=newObject();
發現主要就兩個變量:
*map :用于存放最終數據的。
*RESENT :是所有寫入 map 的 value 值。
publicHashSet(){
map=newHashMap<>();
}
publicHashSet(intinitialCapacity,floatloadFactor){
map=newHashMap<>(initialCapacity,loadFactor);
}
構造函數很簡單,利用了 HashMap 初始化了 map 。
publicbooleanadd(Ee){
returnmap.put(e,PRESENT)==null;
}
比較關鍵的就是這個 add() 方法。 可以看出它是將存放的對象當做了 HashMap 的健,value 都是相同的 PRESENT 。由于 HashMap 的 key 是不能重復的,所以每當有重復的值寫入到 HashSet 時,value 會被覆蓋,但 key 不會受到影響,這樣就保證了 HashSet 中只能存放不重復的元素。
HashSet 的原理比較簡單,幾乎全部借助于 HashMap 來實現的。所以 HashMap 會出現的問題 HashSet 依然不能避免。
上述內容就是HashSet指的是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注本站行業資訊頻道。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
放松銀根是什么意思?首先,我們需要知道銀根是什么。銀根,即資金在金融市場上的供應量,經常被用來比喻銀行中央的貨幣政策。一個國家的中央銀行或貨幣當局為減少信貸供應、提高利率和消除過度需求造成的通貨膨脹壓力而采取的貨幣政策被稱為銀根緊縮。相反,為了防止經濟衰退,通過增加信貸供應、降低利率、促進投資和推動經濟增長而采取的貨幣政策被稱為放松銀根。放松銀根是貨幣政策工具,是一國的中央銀行或貨幣當局為阻止經濟...
(資料圖片)有關于齊國的歷史方面的知識,小編在此整里出來,給大家作為參考,下面就詳細的介紹一下關于齊國的歷史的相關內容。公元前656年,齊合諸侯之師侵蔡伐楚,與楚盟于召陵。此后,齊多次大會諸侯。公元前651年,齊會魯、宋、衛、鄭、許、曹于葵丘。齊霸業達于頂峰。春秋末年,齊衰落,卿大夫相互兼并。公元前548年,崔抒殺莊公,立景公。公元前546年,慶封滅崔氏公元前314年,在孟軻勸說下,宣王命匡章率“...
財務費用為負數的原因是什么?財務費用出現負數主要是以下原因:1、公司擁有雄厚的移動資金,在銀行的存款金額遠遠高于公司的貸款融資金額。為了增加收入,企業將利用閑置的銀行存款購買理財產品或改為存款協議存款。雖然收益率遠低于公司的融資利率,但利息收入大于利息支出,仍會導致公司財務費用為負。企業發行大量承兌匯票用于支付流通,可以減少對資金50%的占用。同時,50%的承兌存款也可以獲得較高的利息收入,抵消財...