Java零基礎學習-----JAVA核心類庫(上)(六)

List集合的概念和ArrayList類的源碼解析

 

List集合(重中之重)

基本概念:

  • java.util.List集合是Collection集合的子集合,該集合中允許有重複的元素並且有先後放入次序。
  • 該集合的主要實現類有:ArrayList類、LinkedList類、Stack類、Vector類。
  • 其中ArrayList類的底層是採用動態數組進行數據管理的,支持下標訪問,增刪元素不方便。
  • 其中LinkedList類的底層是採用雙向鏈表進行數據管理的,訪問不方便,增刪元素方便。
  • 可以認爲ArrayList和LinkedList的方法在邏輯上完全一樣,只是在性能上有一定的差別,ArrayList

更適合於

  • 機訪問而LinkedList更適合於插入和刪除;在性能要求不是特別苛刻的情形下可以忽略這個差別。
  • 其中Stack類的底層是採用動態數組進行數據管理的,該類主要用於描述一種具有後進先出特徵的

數據結構,叫做棧(last in fifirst out LIFO)。

  • 其中Vector類的底層是採用動態數組進行數據管理的,該類與ArrayList類相比屬於線程安全

類,效率比較低,以後開發中基本不用。

常用方法:

 

 

 

 

 

Stack類:

其中Stack類的底層是採用動態數組進行數據管理的,該類主要用於描述一種具有後進先出特徵的

數據結構,叫做棧(last in fifirst out LIFO)

Vector類:

其中Vector類的底層是採用動態數組進行數據管理的,該類與ArrayList類相比屬於線程安全的

類,效率比較低,以後開發中基本不用。(擴容:擴大2倍,ArrayList擴大1.5倍)

 

 

 

其中subList中,子類集合和當前集合共用同一塊內存空間。

 

Queue類

基本概念:

  • java.util.Queue集合是Collection集合的子集合,與List集合屬於平級關係。
  • 該集合的主要用於描述具有先進先出特徵的數據結構,叫做隊列(fifirst in fifirst out FIFO)。
  • 該集合的主要實現類是LinkedList類,因爲該類在增刪方面比較有優勢。

常用方法:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章