集合容器對比

2021-07-03 23:32:43 字數 465 閱讀 8964

vector和list

vector 在記憶體中是連續儲存的,對於隨機訪問的效率較高;對於插入和刪除,由於需要複製元素,開銷較大;

list在記憶體中是離散儲存的,對於隨機訪問需要遍歷,效率較低而對於插入刪除效率較高;

list執行緒不安全,vector是執行緒安全的;

arraylist和linkedlist

由於arraylist基於動態陣列的結構,對於隨機訪問效率較高

linkedlist基於鍊錶結構,對於插入刪除效率較高

hashset和treeset

hashset不對元素排序,允許null值

treeset對元素排序,不允許null值

hashmap和hashtable

hashmap執行緒不安全,允許null鍵值

hashtable執行緒安全,不允許null鍵值

由於hashmap執行緒不安全,效能要高於hashtable;

cpp stl 容器對比

包含13個模板類 和關聯式容器 容器內的元素按照一定的規則放到適當的位置,插入元素時不能指定位置 序列式容器 元素在容器中的位置與元素值無關,插入元素時可以指定在容器中插入的位置 容器介面卡 不支援任意一種迭代器set 集合 關聯式容器由節點組成的紅黑樹 元素有序且唯一 集合 鍵是唯一的,值的型別必...

C 容器對比

型別 vector list deque maphash map set簡介 vector是c 標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。vector之所以被認為是乙個容器,是因為它能夠像容器一樣存放各種型別的物件,簡單地說vector是乙個能夠存放任意...

STL常用容器對比

stl的常用容器大致有以下8個 vector是一種動態陣列,在記憶體中具有連續的儲存空間,支援快速隨機訪問。由於具有連續的儲存空間,所以在插入和刪除操作方面,效率比較慢。vector有多個建構函式,預設的建構函式是構造乙個初始長度為0的記憶體空間,且分配的記憶體空間是以2的倍數動態增長的,在push...