也就是創建一個新的數組,然後将原數組中的數據,重新映射到新數組中。
hasap的核心數據結構,是一個node數組。
每個node,都保存了鍵值對信息,以及指向下一個node的引用。
在hasap中,通過key的hashde經過一定的計算後得到數組下标…
然後,在對應的數組位置上,進行存儲。
如果,計算出的數組下标位置,已經存在元素,那麼就在這個位置形成鍊表。
當鍊表長度太長(默認是8)時,鍊表就轉換為紅黑樹,這樣可以大大提高查詢的效率。
二、treeap:
treeap是基于紅黑樹實現的ap接口。
它根據鍵的自然順序,對鍵進行排序;
或者根據創建treeap時,提供的parator進行排序,具體取決于使用的構造方法。
treeap不允許使用null鍵。
紅黑樹,是一種自平衡的二叉查找樹;
通過對任何一條,從根到葉子的路徑上,各個節點着色的方式的限制;
紅黑樹确保從根到葉子的最長的可能路徑,不會超過最短可能路徑的兩倍長。
這種特性,使得紅黑樹在插入、删除和查找操作中,都保持了相對穩定的性能。
在treeap中,每個鍵都關聯一個值。
你可以使用put(key,vae)方法,将鍵值對添加到映射中;
使用t(key)方法,獲取與指定鍵關聯的值。
treeap的鍵集合(keyset()方法返回)按照鍵的排序順序(升序或降序)進行叠代。
treeap的鍵和值都不能為null。
三、綜上所述
hasap和treeap的主要區别,在于其内部實現機制、性能特點以及使用場景。
hasap适用于需要快速插入、删除和查找的場景。
而treeap,則适用于需要按照鍵的排序順序,進行操作的場景。
…
3、如何選擇合适的集合類?
在java中,選擇合适的集合類,對于程序的性能和正确性至關重要。
java提供了豐富的集合類,每種集合類都有其特定的用途和性能特點。
請勿開啟浏覽器閱讀模式,否則将導緻章節内容缺失及無法閱讀下一章。
相鄰推薦:惹我?開局就讓你跪下求治病 鬥羅:不想成為主角呀 某魔圓的真理之名 修仙:我的分身是洪荒巨獸 病嬌女總裁,開局非要貼貼才能好 全家都在拖後腿,大帥追妻太難了 豬肉西施她,幹活比殺豬還絲滑! 我被她們戀愛模拟了? 萬器 赤紅,寶可夢最強精靈訓練家 主宰見聞錄 我的監護人是機器人 讓你去修仙,不是去修仙子! 重生?我真是好男人啊! 大唐皇子:我有農場系統 火槍靈能與錦衣衛 穿越諸天:從拜師九叔開始 末世多子多福,從美豔老闆娘開始 大明中興全憑殺殺殺搶搶搶 這真是戀愛攻略?