下標訪問"" 和at()方法兩種方式,推薦第二種方法,它會進行邊界檢查。
對於mapmap_str;其訪問方式為:
map_str["firstel"];或者map_str.at("firstel"); // 返回鍵值firstel對應的值
int size( ) const; // 返回對映中的元素數量。// map.size();
bool empty( ) const; // 判斷對映是否為空,true表示為空,false表示為非空
iterator find(const key& key); // 返回對映中具有與指定鍵等效的鍵對應元素位置的迭代器。
注意:count方法:map_str.count("first") // 返回 map 中其鍵與指定了引數的鍵匹配的元素數量。如果 map 包含其排序鍵與引數鍵匹配的元素,則返回 1;如果 map 不包含帶有匹配鍵的元素,則返回 0。
對於mapmap_str,有以下幾種插入方式:
map_str.insert(make_pair("key", 23)); // 將鍵值對插入到對映中
map_str.insert(); // 將鍵值對插入到對映中
map_str.insert(map_str.begin()+2, make_pair("key", 23)); // 在第二個位置插入鍵值對
iterator erase(const_iterator where); // 移除where迭代器位置的鍵值對
int erase(const key_type& key); // 移除鍵值和key相等的位置的鍵值對
iterator erase( const_iterator first, const_iterator last ); // 移除first和last迭代器之間的鍵值對
void clear(); // 清除對映內的所有鍵值對元素
使用迭代器進行遍歷,非常方便。
iterator begin( ); // 返回指向對映中第乙個元素的迭代器
iterator end( ); // 返回指向對映中最後乙個元素的迭代器
Map容器學習
資料結構 map既對映,其中所有的元素都是pair且有序,同時擁有實值 value 和關鍵字 key map以rb tree底層機制,其實就是一種平衡二叉搜尋樹。為了保護map內元素的組織有序性,故c 不允許使用者對map元素的key值隨意修改,只能對value進行修改。pair的定義 templa...
C STL容器學習總結之八 對映map
c stl容器學習總結之一 向量vector c stl容器學習總結之二 鍊錶list c stl容器學習總結之三 雙端佇列deque c stl容器學習總結之四 佇列queue c stl容器學習總結之五 優先佇列priority queue c stl容器學習總結之六 棧stack c stl容...
STL容器類map學習
map類定義了乙個關聯容器,並且在容器中使用唯一的關鍵字 任何兩個元素的鍵都不相同 來對映相應的值。從本質上來說,關鍵字就是值的名字。在map物件中儲存了乙個值之後,就可以通過關鍵字來獲得它。map物件是一系列關鍵字 值的匹配對。map的主要功能在於 只有你知道了乙個值的關鍵字,就能夠找到這個值。例...