How to Update the Value for a Key in a Map in C++ - Step by Step Examples



How to Update the Value for a Key in a Map in C++ ?

Answer

To update the value for a key in a map in C++, you can use the subscript operator or the at method. These methods allow you to modify the value associated with a specific key directly.



✐ Examples

1 Updating the Value Using Subscript Operator

We can update the value for a key in a map in C++ using the subscript operator, which allows us to modify the value associated with a specific key directly.

For example,

  1. We start by including the <map> and <iostream> header files, which provide the necessary functions and data structures for working with maps and input-output operations.
  2. We declare and initialize a map named myMap with some key-value pairs. In this example, the map has integer keys and string values.
  3. We use the subscript operator to update the value for a specific key in the map. The subscript operator allows us to assign a new value to the key.
  4. We print the updated map to the console using a range-based for loop and std::cout.

C++ Program

#include <map>
#include <iostream>

int main() {
    // Declare and initialize a map
    std::map<int, std::string> myMap = {
        {1, "one"},
        {2, "two"},
        {3, "three"}
    };

    // Update the value using subscript operator
    myMap[2] = "TWO";

    // Print the updated map
    for (const auto& pair : myMap) {
        std::cout << pair.first << ": " << pair.second << std::endl;
    }

    return 0;
}

Output

1: one
2: TWO
3: three

2 Updating the Value Using at Method

We can update the value for a key in a map in C++ using the at method, which allows us to modify the value associated with a specific key directly.

For example,

  1. We start by including the <map> and <iostream> header files, which provide the necessary functions and data structures for working with maps and input-output operations.
  2. We declare and initialize a map named myMap with some key-value pairs. In this example, the map has integer keys and string values.
  3. We use the at method to update the value for a specific key in the map. The at method allows us to access the value associated with the key and modify it directly.
  4. We print the updated map to the console using a range-based for loop and std::cout.

C++ Program

#include <map>
#include <iostream>

int main() {
    // Declare and initialize a map
    std::map<int, std::string> myMap = {
        {1, "one"},
        {2, "two"},
        {3, "three"}
    };

    // Update the value using at method
    myMap.at(2) = "TWO";

    // Print the updated map
    for (const auto& pair : myMap) {
        std::cout << pair.first << ": " << pair.second << std::endl;
    }

    return 0;
}

Output

1: one
2: TWO
3: three

3 Updating the Value Conditionally Using find Method

We can update the value for a key in a map in C++ using the find method to locate the key and then modify the value associated with it directly.

For example,

  1. We start by including the <map> and <iostream> header files, which provide the necessary functions and data structures for working with maps and input-output operations.
  2. We declare and initialize a map named myMap with some key-value pairs. In this example, the map has integer keys and string values.
  3. We use the find method to locate the key in the map. The find method returns an iterator to the element if it is found, or end() if it is not.
  4. If the key is found, we use the iterator to access and modify the value associated with the key directly.
  5. We print the updated map to the console using a range-based for loop and std::cout.

C++ Program

#include <map>
#include <iostream>

int main() {
    // Declare and initialize a map
    std::map<int, std::string> myMap = {
        {1, "one"},
        {2, "two"},
        {3, "three"}
    };

    // Update the value conditionally using find method
    auto it = myMap.find(2);
    if (it != myMap.end()) {
        it->second = "TWO";
    }

    // Print the updated map
    for (const auto& pair : myMap) {
        std::cout << pair.first << ": " << pair.second << std::endl;
    }

    return 0;
}

Output

1: one
2: TWO
3: three

Summary

In this tutorial, we learned How to Update the Value for a Key in a Map in C++ language with well detailed examples.




More C++ Maps Tutorials

  1. How to create an Empty Map in C++ ?
  2. How to create a Map with Initial Key-Value Pairs in C++ ?
  3. How to Print a Map in C++ ?
  4. How to Add a Key-Value Pair to a Map in C++ ?
  5. How to Set a Default Value for a Key in a Map in C++ ?
  6. How to Update the Value for a Key in a Map in C++ ?
  7. How to Check if a Map is Empty in C++ ?
  8. How to Check if a Key Exists in a Map in C++ ?
  9. How to Check if a Value Exists in a Map in C++ ?
  10. How to Get the Value Associated with a Key in a Map in C++ ?
  11. How to Remove a Key-Value Pair from a Map in C++ ?
  12. How to Remove Key-Value Pairs from a Map Based on Values in C++ ?
  13. How to Clear All Key-Value Pairs from a Map in C++ ?
  14. How to Iterate Over Keys in a Map in C++ ?
  15. How to Iterate Over Values in a Map in C++ ?
  16. How to Iterate Over Entries (Key-Value Pairs) in a Map in C++ ?
  17. How to Get the Size (Number of Key-Value Pairs) of a Map in C++ ?
  18. How to Convert a Map to an Array of Keys in C++ ?
  19. How to Convert a Map to an Array of Values in C++ ?
  20. How to Convert a Map to an Array of Key-Value Pairs in C++ ?
  21. How to Merge Two Maps in C++ ?
  22. How to Copy a Map in C++ ?
  23. How to Check if Two Maps are Equal in C++ ?
  24. How to Sort a Map by Keys in C++ ?
  25. How to Sort a Map by Values in C++ ?
  26. How to Filter a Map Based on Keys in C++ ?
  27. How to Filter a Map Based on Values in C++ ?
  28. How to Reduce Values in a Map to a Single Value in C++ ?
  29. How to Convert an Array of Key-Value Pairs to a Map in C++ ?
  30. How to Convert a Map to a JSON String in C++ ?
  31. How to Convert a JSON String to a Map in C++ ?
  32. How to Swap Keys and Values in a Map in C++ ?
  33. How to Create a Map of Maps in C++ ?
  34. How to Iterate Over a Map of Maps in C++ ?