ArrayList詳細描述

2021-07-29 15:37:38 字數 612 閱讀 3809

arraylist和vector都是使用陣列方式儲存資料,此陣列元素數大於實際儲存的資料以便增加和插入元素,它們都允許直接按序號索引元素,但是插入元素要涉及陣列元素移動等記憶體操作,所以索引資料快而插入資料慢,vector由於使用了synchronized方法(執行緒安全),通常效能上較arraylist差,而linkedlist使用雙向鍊錶實現儲存,按序號索引資料需要進行前向或後向遍歷,但是插入資料時只需要記錄本項的前後項即可,所以插入速度較快。

每個 arraylist 例項都有乙個容量。該容量是指用來儲存列表元素的陣列的大小。它總是至少等於列表的大小。隨著向 arraylist 中不斷新增元素,其容量也自動增長。並未指定增長策略的細節,因為這不只是新增元素會帶來分攤固定時間開銷那樣簡單在新增大量元素前,應用程式可以使用 ensurecapacity 操作來增加 arraylist 例項的容量。

arraylist:執行緒不安全,查詢速度快,底層資料結構是陣列結構,擴容增量是原容量的 0.5倍+1,如 arraylist的容量為10,一次擴容後是容量為16。

vector:執行緒安全,但速度慢,底層資料結構是陣列結構,載入因子為1,即當 元素個數 超過 容量長度 時,進行擴容,擴容增量是原容量的1倍,如 vector的容量為10,一次擴容後是容量為20。

QWidget類詳細描述

qwidget類是所有使用者介面物件的基類。qwidget qwidget parent 0,const char name 0,wflags f 0 視窗部件是使用者介面的乙個原子 它從視窗系統接收滑鼠 鍵盤和其它事件,並且在螢幕上繪製自己的表現。每乙個視窗部件都是矩形,並且它們按z軸順序排列的。...

詳細描述C 索引器

簡單說來,所謂c 索引器就是一類特殊的屬性,通過它們你就可以像引用陣列一樣引用自己的類。宣告方法如下 與屬性相似 public type this int index set 用例子簡單說明 using system.collections static void main string args ...

詳細描述求最長公共子串行演算法

子串行與字串的區別 子串行不要求公共部分在原字串中連續,而字串要求連續。動態規劃求解 例子 bdcaba abcbdab 最長的公共子串行為 b c b a 和 b d a b 1 首先分析狀態轉移陣列dp i j 的含義 指的是 字串 s1 從 0到n 1 和 字串 s2 從 0到m 1 的最大公...