簡體   English   中英

Java集合:使用Hash表的具體類HashSet是否使用LinkedList作為其數據結構實現?

[英]Java Collection: Does concrete class HashSet which uses Hash table implemented using LinkedList as its data structure?

在第782頁的“ Khalid Mughal的Java SCJP認證程序員指南-第三版”一書中,我注意到它說具體的類HashSet是使用哈希表和鏈接列表實現的。 當我瀏覽主要的Java教程網站http://download.oracle.com/javase/tutorial/collections/implementations/index.html時 ,這似乎並不正確。 請指教。 謝謝。

HashSetHashMap的包裝,后者依次使用數組。 HashMap是一個哈希表,但不是Hashtable類。 HashSet除了解決沖突以外,與列表沒有任何關系。

LinkedHashSet也具有自己的鏈接列表,但不使用LinkedList類。

根據HashSet的代碼,

public HashSet() {
    map = new HashMap<>();
}

基於哈希表的Map接口的實現。 此實現提供所有可選的映射操作,並允許空值和空鍵。 (HashMap類與Hashtable大致等效,不同之處在於它是不同步的,並且允許為null。)此類不保證映射的順序,尤其是不能保證該順序隨時間保持不變。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM