Vector 與 ArrayList的速度
Vector 與 ArrayList 是兩個常用的動態陣列class
在JAVA 中,當我們要使用到不確定大小的變數陣列的時候
通常都是使用到這兩個
那這兩者有什麼差異呢?
以使用方法來說,兩者一模一樣
速度方面
這兩個 再增加資料地的時間複雜度是 1
刪除一筆資料是 n (第n個)
Vector 會做同步處理,速度會比較慢(看說明是說,當一個程式多執行緒,兩個執行緒都用同一筆資料時,會保證兩邊資料同步)
因此 如果是跑單執行緒的,可以用ArrayList
另外,因為刪除資料速度比較慢,我通常是直接開新的array 存放,在一次釋放原有的
最後
引用JAVA 原來工程師 所說
如果速度是最大考量的話,這兩個都不要用,請自己寫,因為這樣只會增加開發時間
Leave a Reply