यह ट्यूटोरियल इस बात पर चर्चा करेगा कि ट्रैवर्स करते समय HashMap से कुंजी का उपयोग करके एंट्री को कैसे हटाया जाए। उदाहरण के लिए,
इनपुट: HashMap: {1: "Tutorials", 2: "Tutorials", 3: "Point"}, key=1
आउटपुट: HashMap: {2: "Tutorials", 3: "Point"}.
व्याख्या: पहला तत्व कुंजी '1' का उपयोग करके हटा दिया गया है।
इनपुट: HashMap: {1: "God", 2: "is", 3: "Great"}, key=2
आउटपुट: HashMap: {1: "God", 3: "Great"}.
समाधान खोजने का दृष्टिकोण
C++ में, हम .erase() फंक्शन में की नाम का उपयोग करके कुंजी का उपयोग करके एंट्री को हटा सकते हैं। लेकिन यहां, हमें इसे पुनरावृति करते समय हटाने की आवश्यकता है, इसलिए हमें एक इटरेटर की भी आवश्यकता है।
यहां हम हैशमैप के माध्यम से पुनरावृति करेंगे और जांचेंगे कि क्या हर कुंजी हटाने वाली है और जब कुंजी मेल खाती है तो एंट्री को हटा देंगे।
उदाहरण
उपरोक्त दृष्टिकोण के लिए C++ कोड
बिना पुनरावृति के
नीचे HashMap पर पुनरावृति किए बिना तत्वों को हटाने का कोड है।
#include<iostream>
#include<map> // मैप ऑपरेशन के लिए
using namespace std;
int main() {
// HashMap बनाना।
map mp;
// Hashmap में की-वैल्यू पेयर डालना।
mp[1] = "Tutorials";
mp[2] = "Tutorials";
mp[3] = "Point";
int key = 2;
// इटरेटर बनाना।
map::iterator it;
// प्रारंभिक Hashmap प्रिंट करना।
cout << "हटाने से पहले HashMap:\n";
for (it = mp.begin(); it != mp.end(); ++it)
cout << it->first << "->" << it->second << endl;
mp.erase(key);
// हटाने के बाद Hashmap प्रिंट करना।
cout << "हटाने के बाद HashMap:\n";
for (it = mp.begin(); it != mp.end(); ++it)
cout << it->first << "->" << it->second << endl;
return 0;
}
आउटपुट
हटाने से पहले HashMap: 1->Tutorials 2->Tutorials 3->Point हटाने के बाद HashMap: 1->Tutorials 3->Point
उदाहरण
HashMap पर पुनरावृति करते हुए तत्व हटाएं
#include<iostream>
#include<map> // मैप ऑपरेशन के लिए
using namespace std;
int main() {
// HashMap बनाना।
map mp;
// Hashmap में की-वैल्यू पेयर डालना।
mp[1] = "Tutorials";
mp[2] = "Tutorials";
mp[3] = "Point";
int key = 2;
// इटरेटर बनाना।
map::iterator it;
// प्रारंभिक Hashmap प्रिंट करना।
cout << "हटाने से पहले HashMap:\n";
for (it = mp.begin(); it != mp.end(); ++it)
cout << it->first << "->" << it->second << endl;
// HashMap पर पुनरावृति करना।
for (it = mp.begin(); it != mp.end(); ++it) {
int a = it->first;
// इटरेटर कुंजी की आवश्यक कुंजी से तुलना करना।
if (a == key) {
// तत्व मिटाना।
mp.erase(it);
}
}
// हटाने के बाद Hashmap प्रिंट करना।
cout << "हटाने के बाद HashMap:\n";
for (it = mp.begin(); it != mp.end(); ++it)
cout << it->first << "->" << it->second << endl;
return 0;
}
आउटपुट
हटाने से पहले HashMap: 1->Tutorials 2->Tutorials 3->Point हटाने के बाद HashMap: 1->Tutorials 3->Point
निष्कर्ष
इस ट्यूटोरियल में, हमने HashMap से एंट्री को हटाने के तरीके पर चर्चा की। हमने एंट्री को हटाने के दो तरीकों पर चर्चा की जो पुनरावृति करते हुए और बिना पुनरावृति के हैं। हमने इस समस्या के लिए C++ प्रोग्राम पर भी चर्चा की जिसे हम C, Java, Python आदि प्रोग्रामिंग भाषाओं के साथ कर सकते हैं। आशा है कि आपको यह ट्यूटोरियल मददगार लगा होगा।