ArrayList和Vector的區別

時間 2022-03-18 09:40:11

1樓:匿名使用者

(1)vector比arraylist先存在。vector是同步的,vector的物件是執行緒安全的;arraylist是非同步的,arraylist的物件不是執行緒安全的。同步影響執行效率,所以arraylist比vector效能好。

(2)arraylist和vector都有乙個初始的容量大小,當儲存的空間不夠時,需要增加儲存空間,vector預設增長原來的一倍,而arraylist是原來的0.5倍。arraylist與vector都可以設定初始的空間大小,vector還可以設定增長的空間大小。

2樓:匿名使用者

1.同步性:vector是執行緒安全的,也就是說是同步的,而arraylist是線程式不安全的,不是同步的 數2.

資料增長:當需要增長時,vector預設增長為原來一培,而arraylist卻是原來的一半

如果涉及到堆疊,佇列等操作,應該考慮用vector,如果需要快速隨機訪問元素,應該使用arraylist

arraylist和vector的區別

3樓:尚學堂j**a學院

實現原理相同---底層都使用陣列

功能相同---實現增刪改查等操作的方法相似都是長度可變的陣列結構,很多情況下可以互用vector是早期jdk版本提供,arraylist是新版本替代vector的

vector執行緒安全,arraylist重速度輕安全(效能好)執行緒非安全長度需要增長時,vector預設增長一倍,arraylist增長50%

4樓:司馬刀劍

vector和arraylist在使用上非常相似,都可用來表示一組數量可變的物件應用的集合,並且可以隨機地訪問其中的元素。

1 vector的方法都是同步的(synchronized),是執行緒安全的(thread-safe),而arraylist的方法不是,由於執行緒的同步必然要影響效能,因此,arraylist的效能比vector好。

2 當vector或arraylist中的元素超過它的初始大小時,vector會將它的容量翻倍,而arraylist只增加50%的大小,這樣,arraylist就有利於節約記憶體空間。

arraylist和vector在使用上有什麼區別啊

5樓:匿名使用者

二者都是有3個建構函式,用陣列實現,用預設建構函式初始時候實際上建立了乙個10容量的陣列,方法都差不多,vector方法是執行緒同步的,加了synchronized關鍵字,就是同時只能有乙個執行緒訪問.不過,vector一般用的很少,用arraylist就可以了,注意保重執行緒安全,.

6樓:匿名使用者

請問:arraylist、linkedlist以及vector的區別是什麼?final,finalize,finally技術允許使用 finalize() 方法在垃圾收集器將物件從記憶體中清除出去之前做必要

7樓:匿名使用者

vector和arraylist在使用上非常相似,都可用來表示一組數量可變的物件應用的集合,並且可以隨機地訪問其中的元素。

1 vector的方法都是同步的(synchronized),是執行緒安全的(thread-safe),而arraylist的方法不是,由於執行緒的同步必然要影響效能,因此,arraylist的效能比vector好。

2 當vector或arraylist中的元素超過它的初始大小時,vector會將它的容量翻倍,而arraylist只增加50%的大小,這樣,arraylist就有利於節約記憶體空間。

arraylist和vector的區別

8樓:匿名使用者

(1)vector比arraylist先存在。vector是同步的,vector的物件是執行緒安全的;arraylist是非同步的,arraylist的物件不是執行緒安全的。同步影響執行效率,所以arraylist比vector效能好。

(2)arraylist和vector都有乙個初始的容量大小,當儲存的空間不夠時,需要增加儲存空間,vector預設增長原來的一倍,而arraylist是原來的0.5倍。arraylist與vector都可以設定初始的空間大小,vector還可以設定增長的空間大小。

list和vector有什麼區別

9樓:匿名使用者

arraylist和vector的區別

這兩個類都實現了list介面(list介面繼承了collection介面),他們都是有序集合,即儲存在這兩個集合中的元素的位置都是有順序的,相當於一種動態的陣列,我們以後可以按位置索引號取出某個元素,並且其中的資料是允許重複的

接著才說arraylist與vector的區別,這主要包括兩個方面:.

(1)同步性:

vector是執行緒安全的,也就是說是它的方法之間是執行緒同步的,而arraylist是線程式不安全的,它的方法之間是執行緒不同步的。

如果只有乙個執行緒會訪問到集合,那最好是使用arraylist,因為它不考慮執行緒安全,效率會高些;

如果有多個執行緒會訪問到集合,那最好是使用vector,因為不需要我們自己再去考慮和編寫執行緒安全的**。

(2)資料增長:

arraylist與vector都有乙個初始的容量大小,當儲存進它們裡面的元素的個數超過了容量時,就需要增加arraylist與vector的儲存空間,每次要增加儲存空間時,不是只增加乙個儲存單元,而是增加多個儲存單元,每次增加的儲存單元的個數在記憶體空間利用與程式效率之間要取得一定的平衡。

vector預設增長為原來兩倍,而arraylist的增長策略在文件中沒有明確規定(從源**看到的是增長為原來的1.5倍)。

arraylist與vector都可以設定初始的空間大小,vector還可以設定增長的空間大小,而arraylist沒有提供設定增長空間的方法。

總結:即vector增長原來的一倍,arraylist增加原來的0.5倍。

簡單列個**

10樓:天雲小店

list的實現是鍊表,vector的底層實現是陣列

11和54,24和36,26和52,12和30的最大公因數和

1 11的因數有1,11 54的因數有1,2,3,6,9,18,27,54,所以11和54最大公因數是1。根據性質,兩個數的最大公因數和最小公倍數之積等於該兩個數之積,所以最小公倍數11 54 1 594 2 24的因數有1,2,3,4,6,8,12,24 36的因數有1,2,3,4,6,9,12,...

廣東話的「罵」和「生氣」和「休息」和「丟臉」和「襪子」和「手套」怎麼說

廣東話的 罵 是讀 鬧 例 今天給我老爸罵了一頓 今日俾我老豆鬧咗一餐廣東話的 生氣 是讀 嬲 乙個字就可以了 例 你不要生氣好不好 你唔冇嬲啦廣東話的 休息 可以直接讀 休息 或者是 頭下 例 累了,休息一下吧 攰喇,頭下先啦 攰喇,休息下先啦!廣東話的 丟臉 是讀 丟假 例 去那樣的場面,真丟臉...

萬和jsq和jslq什麼區別,萬和JSQ和JSLQ什麼區別

萬和jsq20 10st56詳細引數 技術引數 系列名稱st56系列 額定功率40w 額定熱負荷20kw 熱水產率10公升 分 額定壓力0.2mpa 適用水壓0.02 1.0mpa 電源規格220v 50hz 基本引數 點火方式水控全自動 排氣方式強排式 顯示屏超大數字屏顯 控制方式觸控操作 使用燃...