C + + associative containers <map> Simple Summary
Map provides variable-size associative containers that efficiently retrieve element values based on associated key Values. When you are working with data on Key-value pairs, you can consider using the Map association Container.
Characteristics:
A variable-sized associative container that efficiently retrieves element values based on associated key Values.
Reversible because it provides a bidirectional iterator to access its elements.
Ordered because its elements are sorted according to the key values of the specified comparison Function.
Only. because each of its elements must have a unique key.
The associative container pair, because its element data value differs from its key Value.
The template class, because it provides functionality that is generic, regardless of the element or key Type. the data type used for elements and keys is specified as a class template and as a parameter in the comparison function and Allocator.
Header Files: #include <map>
Namespaces: using namespace std:map;
Constructor function:
map<key_type, Value_type>map_show//key_type represents a key type, Value_type represents a value type, such as: map<string, int>map_show; means string as key , the associated map of the shaping position
map<int, int>map_int;//similar Arrays
map<string, int>map_str; Similar to string-subscript arrays
Basic Maintenance Operations 1. access
The subscript accesses the "[]" and the at () methods, and the second method is recommended, which checks the Boundary.
For map<string, int>map_str; is accessed in the following ways:
Map_str["firstel") or map_str.at ("firstel");//return key value Firstel corresponding value
int size () const; returns the number of elements in the MAP.
BOOL Empty () const; Determines whether the map is empty, true indicates null, false is Non-null
Iterator Find (const key& Key); returns an iterator in the map that has the corresponding element position of the key equivalent to the specified key.
note: The Count method:map_str.count ("first")// Returns the number of elements in the map whose keys match the key specified by the Parameter. returns 1 if the map contains an element whose sort key matches the parameter key, or 0 if the map does not contain an element with a matching key.
2. add
For map<string, int>map_str, There are several ways to Insert:
Map_str.insert (make_pair ("key", 23)); Insert key value pair {"key", 23} into the map
Map_str.insert ({"key", 23}); Insert key value pair {"key", 23} into the map
Map_str.insert (map_str.begin () +2, make_pair ("key", 23)); Insert {"key" in the second position, 23} key-value pairs
3. Delete
Iterator Erase (const_iterator Where); Remove a key-value pair from where iterator position
int erase (const key_type& key); Remove key value pairs where key values and key are equal
Iterator erase (const_iterator first, const_iterator last); Removes key-value pairs between first and last iterators
void Clear (); clears all key-value pairs within the map element
4. Traverse
It is very convenient to traverse with Iterators.
Iterator begin (); returns an iterator that points to the first element in a map
Iterator End (); Returns an iterator that points to the last element in the map
for (map<stringint>::iterator map_it = map_str.begin (); map_it! = map_str.end (); map_it++) { " key: " " value: " << map_it->second;
Map_it->first represents the first value of a key-value pair, which is the value of the key, Map_it->second represents the second value of a key-value pair, which is the value of the key}
member functions
At |
Finds the element with the specified key Value. |
Begin |
Returns an iterator that points to the first element in the MAP. |
Cbegin |
Returns a const iterator that points to the first element in a map. |
Cend |
Returns a const iterator that exceeds the End. |
Clear |
Clears all the mapped elements. |
Count |
Returns the number of elements in the map whose keys match the key specified in the Parameter. |
Crbegin |
Returns a const iterator that points to the first element in a reverse map. |
Crend |
Returns a const iterator that points to the position after the last element in the reverse map. |
Emplace |
Inserts an element into the map that is constructed on the Ground. |
Emplace_hint |
Inserts the element into the map, with a location hint. |
Empty |
Returns true if the map is Empty. |
End |
Returns an iterator that exceeds the End. |
Equal_range |
Returns a pair of Iterators. The first iterator in this iterator pair points to the first element in a map whose key is greater than the specified key. The second iterator in this iterator pair points to the first element in a map whose key is equal to or greater than the specified key. |
Erase |
Removes the element or range of elements from the map at the specified Location. |
Find |
Returns an iterator that points to the position of the element whose key is equal to the specified key in the MAP. |
Get_allocator |
Returns a copy of the allocator object used to construct the map . |
Insert |
Inserts an element or range of elements into the map at the specified Location. |
Key_comp |
Returns a copy of the comparison object used to sort the keys in the map. |
Lower_bound |
Returns an iterator that points to the first element in the map whose key value is equal to or greater than the key value of the specified key. |
Max_size |
Returns the maximum length of the map. |
Rbegin |
Returns an iterator that points to the first element in the reverse map. |
Rend |
Returns an iterator that points to the position after the last element in the reverse map. |
Size |
Returns the number of elements in the MAP. |
Swap |
Swaps two elements of a map. |
Upper_bound |
Returns an iterator that points to the first element in the map whose key value is greater than the key value of the specified key. |
Value_comp |
Retrieves a copy of the comparison object used to sort the element values in the MAP. |
Shrink_to_fit |
Discard additional Capacity. |
Size |
Returns the number of vector elements |
Swap |
Swaps the elements of two Vectors. |
C + + associative containers <map> Simple Summary