ArrayList、Vector以及LinkList的區別

ArrayList:底層數據結構是數組結構,你就可以把它看成是一個可變大小的且只能裝對象的數組。因爲數組有索引(角標)所以ArrayList的查詢速度快,而添加刪除元素速度稍慢。因爲,你每刪除或者添加一個元素,你都要移動所添加或刪除元素後面的所有數據,該集合是線程不同步的
LinkedList:底層數據結構是鏈表結構的。鏈表數據結構是沒有索引的,當前元素只和他的前一個和後一個元素有關聯就像一串珠子一樣,該數據結構的特點是,增加刪除快,而查詢比較慢,因爲增加刪除只 需要找到當前元素,然後斷掉當前元素與它前一個和後一個元素的關聯即可,和數組比,鏈表不用重複大部分的數據移動工作,但是因爲沒有索引所以鏈表數據結構 要一個一個的查詢數據,所以LinkedList的查詢速度稍慢
Vector:底層數據結構也是數組結構的,除了線程安全問題上不同於ArrayList之外,其餘幾乎一樣。

數組結構的查詢速度比較快,因爲可以通過索引快速鎖定元素位置。鏈表結構的插入速度較快。

發佈了15 篇原創文章 · 獲贊 9 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章