數組基本概念

       線性表:線性表就是數據排成像一條線一樣的結構,每個線性表上的數據最多隻有前和後兩個方向,有數組,鏈表,隊列,棧等都是線性表結構
       非線性表:比如二叉樹,堆,圖等,非線性表中,數據之間並不是簡單的前後關係

數組

       1.線性表
       2.連續的內存空間和相同類型的數據

       數組適合查找操作,但是查找的時間複雜度並不爲O(1),即使是排好序的數組,使用二分查找,時間複雜度也是O(Logn),所以,數組支持隨機訪問,根據下標隨機訪問的時間複雜度爲O(1)

       ArrayList最大的優勢就是可以將很多數組操作的細節封裝起來,並且支持動態擴容。
但是擴容時涉及內存申請和數據搬移,因此,最好在創建ArrayList的時候事先指定數據大小。

       使用數組的情況,
       1.ArrayList無法存儲基本類型,比如int,long,需要封裝操作,而拆箱和裝箱有性能消耗,所以,如果關注性能,或者使用基本類型,就採用數組
       2.如果數據大小事先已知,並且對數據操作簡單,用不到ArrayList提供的大部分方法,也可以直接使用數組
       3.表示多維數組的時候,使用數組更加直觀。

       數組下標從0開始是因爲歷史原因,還有就是下標其實是偏移量。

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