JavaSE基礎(chǔ)知識學(xué)習(xí)-----數(shù)據(jù)結(jié)構(gòu)

Java數(shù)據(jù)結(jié)構(gòu)

Java中的數(shù)據(jù)結(jié)構(gòu)主要分為Collection和map兩個接口(接口只提供抽象方法,并不提供實現(xiàn)),程序中主要使用的是數(shù)據(jù)結(jié)構(gòu)是這兩個接口的主要實現(xiàn)類。
Java中的數(shù)據(jù)結(jié)構(gòu)關(guān)系如下圖所示


image

List:有序的可重復(fù)的Collection

使用此接口能夠精確的控制每一個元素插入的位置,可以通過索引來訪問List中的元素。

  1. ArrayList采用數(shù)組實現(xiàn),數(shù)組的訪問速度要比鏈表快,所以ArrayList更適合查詢操作,
  2. LinkedList采用鏈表實現(xiàn),隨機插入和刪除的效率要高于數(shù)組,
  3. Vector是一種古老的實現(xiàn)類,采用數(shù)組的實現(xiàn),內(nèi)部方法使用了Sychronized關(guān)鍵字,是線程安全的。

List相關(guān)知識總結(jié)如下:


image

Map:‘鍵值’對映射的抽象接口,不包括重復(fù)的鍵。

  1. HashMap:是基于‘拉鏈法’實現(xiàn)的散列表,底層采用數(shù)組+鏈表實現(xiàn),一般用于單線程
  2. HashTable:基于‘拉鏈法’實現(xiàn)的散列表,一般用于多線程
  3. TreeMap:有序散列表,底層通過紅黑樹實現(xiàn)。

Map相關(guān)知識總結(jié)如下:


image

Java數(shù)據(jù)結(jié)構(gòu)的詳細(xì)信息可以參考我寫的其他博客。

?著作權(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)容

  • 從三月份找實習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時芥藍(lán)閱讀 42,891評論 11 349
  • Java8張圖 11、字符串不變性 12、equals()方法、hashCode()方法的區(qū)別 13、...
    Miley_MOJIE閱讀 3,917評論 0 11
  • 來橙子學(xué)院一個多月,輸入多,每天有老師們的學(xué)習(xí)方法、干貨,但自己輸出少,現(xiàn)在進(jìn)入30天專注橙長,正好給自己一個成長...
    笑笑微閱讀 273評論 0 0
  • 在爭奇斗艷的春天,我要優(yōu)雅地綻放 即使沒有陽光,我也要微笑地面對 即使沒有掌聲,我也要在你心里留下痕跡 即使所有的...
    三層小樓閱讀 587評論 1 1

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