How to Check if Two Maps are Equal in C++ - Step by Step Examples



How to Check if Two Maps are Equal in C++ ?

Answer

To check if two maps are equal in C++, you can compare their sizes and use the equality operator (==) to compare the key-value pairs. This method provides a straightforward way to determine if two maps contain the same elements.



✐ Examples

1 Checking Equality of Two Maps Using Equality Operator

We can check if two maps are equal in C++ by comparing their sizes and using the equality operator to compare their key-value pairs.

For example,

  1. We start by including the <map> header file, which provides the necessary functions and data structures for working with maps.
  2. We also include the <iostream> header for input-output operations.
  3. We declare and initialize two maps named map1 and map2 with some key-value pairs. In this example, the maps have integer keys and string values.
  4. We use an if statement to compare the sizes of map1 and map2. If their sizes are equal, we use the equality operator (==) to check if the key-value pairs in both maps are equal.
  5. We print the result to the console using the std::cout function to indicate whether the maps are equal or not.

C++ Program

#include <map>
#include <iostream>

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

    // Check if the maps are equal
    if (map1 == map2) {
        std::cout << "Maps are equal" << std::endl;
    } else {
        std::cout << "Maps are not equal" << std::endl;
    }

    return 0;
}

Output

Maps are equal

2 Checking Equality of Two Maps with Different Sizes

We can also check if two maps with different sizes are equal in C++ by comparing their sizes first and then using the equality operator to compare their key-value pairs.

For example,

  1. We start by including the <map> header file, which provides the necessary functions and data structures for working with maps.
  2. We also include the <iostream> header for input-output operations.
  3. We declare and initialize two maps named map1 and map2 with some key-value pairs. In this example, the maps have integer keys and string values, and they have different sizes.
  4. We use an if statement to compare the sizes of map1 and map2. If their sizes are not equal, we print a message indicating that the maps are not equal.
  5. If their sizes are equal, we use the equality operator (==) to check if the key-value pairs in both maps are equal.
  6. We print the result to the console using the std::cout function to indicate whether the maps are equal or not.

C++ Program

#include <map>
#include <iostream>

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

    // Check if the maps are equal
    if (map1.size() != map2.size()) {
        std::cout << "Maps are not equal" << std::endl;
    } else if (map1 == map2) {
        std::cout << "Maps are equal" << std::endl;
    } else {
        std::cout << "Maps are not equal" << std::endl;
    }

    return 0;
}

Output

Maps are not equal

3 Checking Equality of Two Maps Using a Helper Function

We can create a helper function to check if two maps are equal in C++, which provides a reusable way to compare maps.

For example,

  1. We start by including the <map> header file, which provides the necessary functions and data structures for working with maps.
  2. We also include the <iostream> header for input-output operations.
  3. We declare and initialize two maps named map1 and map2 with some key-value pairs. In this example, the maps have integer keys and string values.
  4. We define a helper function named areMapsEqual that takes two maps as parameters and returns a boolean value indicating whether the maps are equal.
  5. Inside the helper function, we compare the sizes of the maps. If their sizes are not equal, we return false.
  6. If their sizes are equal, we use the equality operator (==) to check if the key-value pairs in both maps are equal and return the result.
  7. We call the helper function with map1 and map2 as arguments and print the result to the console using the std::cout function to indicate whether the maps are equal or not.

C++ Program

#include <map>
#include <iostream>

bool areMapsEqual(const std::map<int, std::string>& map1, const std::map<int, std::string>& map2) {
    if (map1.size() != map2.size()) {
        return false;
    }
    return map1 == map2;
}

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

    // Check if the maps are equal using the helper function
    if (areMapsEqual(map1, map2)) {
        std::cout << "Maps are equal" << std::endl;
    } else {
        std::cout << "Maps are not equal" << std::endl;
    }

    return 0;
}

Output

Maps are equal

Summary

In this tutorial, we learned How to Check if Two Maps are Equal 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++ ?