JAVA 常見數(shù)據(jù)結(jié)構(gòu)



實現(xiàn)Collection 接口

* List 接口

常用方法:add,get

  • ArrayList 訪問任意位置效率高,增刪效率可能會低
  • LinkedList 雙向鏈表,兩端效率高

* Set 接口

常用方法:add,contains(判斷有無)

  • HashSet 不重復(fù)、無序。(內(nèi)部使用 HashMap 的鍵這一列來存放數(shù)據(jù))
    • LinkedHashSet 繼承自HashSet,用鏈表維護(hù)元素之間的順序
  • TreeSet 不重復(fù)、有序。(內(nèi)部使用 TreeMap 的鍵這一列來存放數(shù)據(jù))

實現(xiàn)Map 接口

常用方法:put,get

  • HashMap 內(nèi)部存儲結(jié)構(gòu):哈希表(散列表)。鍵無序、不重復(fù)。
    • LinkedHashMap 繼承自HashMap, 底層額外維護(hù)了一個雙向鏈表來維持?jǐn)?shù)據(jù)有序。
  • WeakHashMap 改進(jìn)的HashMap,對key實行“弱引用”
  • TreeMap 內(nèi)部存儲結(jié)構(gòu):二叉樹(紅黑樹)。鍵有序、不允許null。
  • ConcurrentHashMap 線程安全
  • Hashtable 線程安全,元素不可為空
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 原文地址 Java集合 Java集合框架:是一種工具類,就像是一個容器可以存儲任意數(shù)量的具有共同屬性的對象。 Ja...
    gyl_coder閱讀 1,040評論 0 8
  • Java集合類可用于存儲數(shù)量不等的對象,并可以實現(xiàn)常用的數(shù)據(jù)結(jié)構(gòu)如棧,隊列等,Java集合還可以用于保存具有映射關(guān)...
    小徐andorid閱讀 2,089評論 0 13
  • 在一個方法內(nèi)部定義的變量都存儲在棧中,當(dāng)這個函數(shù)運行結(jié)束后,其對應(yīng)的棧就會被回收,此時,在其方法體中定義的變量將不...
    Y了個J閱讀 4,575評論 1 14
  • 集合類框架的介紹: ![Java 集合類框架](https://upload-images.jianshu.io/...
    LynnGuo閱讀 803評論 0 1
  • 最近的天氣冷得讓人打顫,吃過晚飯,從東門回來的路上,我把手插在兜里御寒。不至于讓他暴露在冰冷的空氣里變得僵硬麻木。...
    稀飯被注冊了閱讀 405評論 2 3

友情鏈接更多精彩內(nèi)容