搜尋
首頁JavaJava入門ArrayList、LinkedList與Vector三者有什麼差別

ArrayList、LinkedList與Vector三者有什麼差別

Aug 06, 2020 pm 04:01 PM
arraylistlinkedlistvector

ArrayList、LinkedList與Vector三者有什麼差別

1、從儲存資料結構分析

(推薦教學:java入門教學

ArrayList:陣列

Vector:陣列LinkedList:雙向鍊錶

陣列:可以根據下標快速找到,所以大部分情況下,查詢快。 ArrayList、LinkedList與Vector三者有什麼差別

但是如果要進行增刪操作的時候,會需要移動修改元素後面的所有元素,所以增刪的開銷比較大,數組的對增刪操作的執行效率低。而採用陣列作為資料儲存結構的ArrayList、Vector也存在這些特性,查詢速度快(可依下標直接取,比迭代查找更快),增刪慢。

鍊錶:增加和刪除元素方便,增加或刪除一個元素,只需處理結點間的引用即可。就像人手牽手連成一排,要增加或刪除某個人只要附近的兩個人換一個人牽手,對已經牽好手的人沒影響。無論在哪裡換人耗費的資源和時間都是一樣的。

但是查詢不方便,需要一個個對比,無法根據下標直接找到。而採用鍊錶結構儲存的LinkedList也有這些特性,增刪方便,查詢慢(指的是隨機查詢,不是順序查詢)。

2、從繼承上分析

它們都實作了List接口,也就是說都實作了get(int location )、remove(int location)等「根據索引值來取得、刪除節點的函數」。

(影片教學推薦:

java影片教學

陣列結構根據下標取值很容易,LinkedList雙向清單的實作也比較簡單,透過計數索引值實現,從鍊錶長度的1/2開始查找,下標大了就從錶頭開始找,小了就從錶尾開始找。

3、從並發安全性分析

Vector:線程安全性

###ArrayList:非線程安全性######LinkedList:非線程安全性#########4、資料成長分析#########Vector:缺省的情況下,成長為原始陣列長度的一倍。說到預設,說明他其實是可以自主設定初始化大小的。 ######ArrayList:自動增長原數組的50%。 ###

以上是ArrayList、LinkedList與Vector三者有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:csdn。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器