java面試 陣列和鍊錶的區別

2021-08-20 09:16:21 字數 494 閱讀 2296

原文:

首先:陣列在記憶體空間上是連續的,而鍊錶在記憶體空間上是可以不連續的。其中鍊錶的每個元素儲存了下乙個元素的位址,使得一系列的隨機的記憶體位址串在一起。所以只要用足夠的記憶體空間,就能為鍊錶分配記憶體。

陣列優於鍊錶:記憶體空間占用少,資料可隨機訪問性,查詢速度相對較快。

鍊錶優於陣列:插入和刪除的操作優於陣列,對記憶體空間的利用率較高,並且鍊錶的可擴充套件性高於陣列。

陣列的優缺點:優點:使用方便,查詢效率比煉表高,記憶體是連續的空間

缺點:大小固定,不適合動態儲存,不方便動態新增;

鍊錶:優點可以動態刪除,大小可變

缺點:只能通過順時針指標去訪問,查詢效率低

鍊錶和陣列的本質差異    

1     在訪問方式上    

陣列可以隨機訪問其中的元素    

鍊錶則必須是順序訪問,不能隨機訪問    

2     空間的使用上    

鍊錶可以隨意擴大    

陣列則不能    

Java基礎 陣列和鍊錶的區別

陣列處理一組資料型別相同的資料,但不允許動態定義陣列的大小,即在使用陣列之前必須確定陣列的大小。而在實際應用中,使用者使用陣列之前有時無法準確確定陣列的大小,只能將陣列定義成足夠大小,這樣陣列中有些空間可能不被使用,從而造成記憶體空間的浪費。陣列必須事先定義固定的長度 元素個數 不能適應資料動態地增...

陣列和鍊錶區別

談到鍊錶與陣列的區別,可以從幾個不同的角度來談,首先從邏輯結構上說,兩者都是資料結構的一種,但存在區別,陣列是申請的一塊連續的記憶體空間,並且是在編譯階段就要確定空間大小的,同時在執行階段是不允許改變的,所以它不能夠隨著需要的改變而增加或減少空間大小,所以當資料量大的時候,有可能超出了已申請好的陣列...

陣列和鍊錶的區別

陣列與鍊錶的區別 1.基於空間的考慮 陣列的儲存空間是靜態,連續分布的,估計過大造成空間浪費,估計太小又將使空間溢位機會增多。而鍊錶的儲存空間是動態分布的,只要記憶體空間尚有空閒,就不會產生溢位 鍊錶中每個節點除了資料域外,還有指標域,儲存密度小於1 陣列為 儲存空間利用率就越高。2.基於時間的考慮...