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,
- We start by including the
<map>
header file, which provides the necessary functions and data structures for working with maps. - We also include the
<iostream>
header for input-output operations. - We declare and initialize two maps named
map1
andmap2
with some key-value pairs. In this example, the maps have integer keys and string values. - We use an if statement to compare the sizes of
map1
andmap2
. If their sizes are equal, we use the equality operator (==) to check if the key-value pairs in both maps are equal. - 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,
- We start by including the
<map>
header file, which provides the necessary functions and data structures for working with maps. - We also include the
<iostream>
header for input-output operations. - We declare and initialize two maps named
map1
andmap2
with some key-value pairs. In this example, the maps have integer keys and string values, and they have different sizes. - We use an if statement to compare the sizes of
map1
andmap2
. If their sizes are not equal, we print a message indicating that the maps are not equal. - If their sizes are equal, we use the equality operator (==) to check if the key-value pairs in both maps are equal.
- 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,
- We start by including the
<map>
header file, which provides the necessary functions and data structures for working with maps. - We also include the
<iostream>
header for input-output operations. - We declare and initialize two maps named
map1
andmap2
with some key-value pairs. In this example, the maps have integer keys and string values. - We define a helper function named
areMapsEqual
that takes two maps as parameters and returns a boolean value indicating whether the maps are equal. - Inside the helper function, we compare the sizes of the maps. If their sizes are not equal, we return
false
. - 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.
- We call the helper function with
map1
andmap2
as arguments and print the result to the console using thestd::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
- How to create an Empty Map in C++ ?
- How to create a Map with Initial Key-Value Pairs in C++ ?
- How to Print a Map in C++ ?
- How to Add a Key-Value Pair to a Map in C++ ?
- How to Set a Default Value for a Key in a Map in C++ ?
- How to Update the Value for a Key in a Map in C++ ?
- How to Check if a Map is Empty in C++ ?
- How to Check if a Key Exists in a Map in C++ ?
- How to Check if a Value Exists in a Map in C++ ?
- How to Get the Value Associated with a Key in a Map in C++ ?
- How to Remove a Key-Value Pair from a Map in C++ ?
- How to Remove Key-Value Pairs from a Map Based on Values in C++ ?
- How to Clear All Key-Value Pairs from a Map in C++ ?
- How to Iterate Over Keys in a Map in C++ ?
- How to Iterate Over Values in a Map in C++ ?
- How to Iterate Over Entries (Key-Value Pairs) in a Map in C++ ?
- How to Get the Size (Number of Key-Value Pairs) of a Map in C++ ?
- How to Convert a Map to an Array of Keys in C++ ?
- How to Convert a Map to an Array of Values in C++ ?
- How to Convert a Map to an Array of Key-Value Pairs in C++ ?
- How to Merge Two Maps in C++ ?
- How to Copy a Map in C++ ?
- How to Check if Two Maps are Equal in C++ ?
- How to Sort a Map by Keys in C++ ?
- How to Sort a Map by Values in C++ ?
- How to Filter a Map Based on Keys in C++ ?
- How to Filter a Map Based on Values in C++ ?
- How to Reduce Values in a Map to a Single Value in C++ ?
- How to Convert an Array of Key-Value Pairs to a Map in C++ ?
- How to Convert a Map to a JSON String in C++ ?
- How to Convert a JSON String to a Map in C++ ?
- How to Swap Keys and Values in a Map in C++ ?
- How to Create a Map of Maps in C++ ?
- How to Iterate Over a Map of Maps in C++ ?