關於物件容器的選擇

2021-09-22 11:20:42 字數 341 閱讀 5288

arraylist主要提供了一種基於索引的容器,但是,它又提供了contains函式,以至於可以自己編寫按內容查詢的函式,但這並不一定高效。實際上,很多情況下,使用基於鍵的容器更為方便,減少遍歷,函式效率顯然會增加不少。

以下是幾條體會:

arraylist滿足了大多數需求;

僅當讀取後需要刪除時,才使用queue或stack;

需要基於鍵而不是基於索引的訪問,則需要選擇hashtable--多個元素時 或者 listdictionary--少量元素時;

不要使用具有多餘特性的集合類;

按這4個原則修改**後,**執行時所需要的記憶體有明顯降低,特別是記憶體峰值,有很大減少。

STL容器的選擇

標準stl序列容器 vector string deque和list。標準stl關聯容器 set multiset map和multimap。非標準序列容器slist和rope。slist是乙個單向鍊錶,rope本質上是乙個重型字串。繩子 rope 是重型的 線 string 明白了嗎?你可以找到乙...

選擇容器法則

選擇容器法則 1 如果程式要求隨機訪問元素,應該使用vector或deque容器。2 如果必須在容器的中間位置插入或刪除元素,應採用list容器。3 如果程式不是在容器的中間位置,而是在容器首部或尾部插入或刪除元素,則應採用deque容器。4 如果只需在讀取輸入時在容器的中間位置插入或刪除元素,然後...

STL容器選擇

個人筆記 1 預設狀態下應該選擇vector,因為vector內部結構最簡單,並允許隨機訪問,所以資料的訪問十分方便,資料的處理也快。2 如果經常要在頭部和尾部安插和移動元素,應該採用deque,如果希望元素被移除時,容器能夠自動縮減記憶體,也應該使用deque。3 如果經常在容器的中段執行元素的安...