Thảo luận về cách xóa một mục nhập khỏi HashMap bằng cách sử dụng giá trị trong khi lặp lại nó, chẳng hạn
Input: HashMap: { 1: “ Mango ”, 2: “ Orange ”, 3: “ Banana ”, 4: “Apple ” }, value=”Banana” Output: HashMap: { 1: “ Mango ”, 2: “ Orange ”, 4: “Apple ” }. Explanation: The third key-value pair is removed using the value “banana”. Input: HashMap: { 1: “Yellow”, 2: “White”, 3: “Green” }, value=”White” Output: HashMap: { 1: “Yellow”, 3: “Green” }.
Phương pháp tiếp cận để tìm giải pháp
Trong C ++, Chúng ta có thể xóa phần tử bằng cách sử dụng hàm .erase (). Từ hàm delete (), chúng ta có thể xóa phần tử bằng cách sử dụng tên khóa hoặc sử dụng một trình lặp. Trong hướng dẫn này, chúng ta sẽ thảo luận về việc xóa các phần tử bằng trình lặp.
Ở đây, chúng tôi sẽ lặp lại bản đồ băm và kiểm tra xem mọi giá trị có bị xóa hay không và xóa mục nhập khi giá trị được khớp.
Ví dụ
Mã C ++ cho phương pháp tiếp cận trên
Xóa phần tử trong khi lặp lại qua HashMap
#include<iostream> #include<map> // for map operations using namespace std; int main(){ // Creating HashMap. map< int, string > fruits; // Inserting key-value pair in Hashmap. fruits[1]="Mango"; fruits[2]="Orange"; fruits[3]="Banana"; fruits[4]="Apple"; string value = "Banana"; // Creating iterator. map<int, string>::iterator it ; // Printing the initial Hashmap. cout<< "HashMap before Deletion:\n"; for (it = fruits.begin(); it!=fruits.end(); ++it) cout << it->first << "->" << it->second << endl; for (it = fruits.begin(); it!=fruits.end(); ++it){ string temp = it->second; // Checking iterator value with required value. if(temp.compare(value) == 0){ // erasing Element. fruits.erase(it); } } // Printing Hashmap after deletion. cout<< "HashMap After Deletion:\n"; for (it = fruits.begin(); it!=fruits.end(); ++it) cout << it->first << "->" << it->second << endl; return 0; }
Đầu ra
HashMap before Deletion: 1->Mango 2->Orange 3->Banana 4->Apple HashMap After Deletion: 1->Mango 2->Orange 4->Apple
Kết luận
Trong hướng dẫn này, chúng tôi đã thảo luận về Cách xóa một mục nhập khỏi HashMap bằng cách sử dụng giá trị. Chúng tôi đã thảo luận về cách xóa một mục nhập bằng cách lặp lại nó. Chúng tôi cũng đã thảo luận về chương trình C ++ cho vấn đề này mà chúng tôi có thể làm với các ngôn ngữ lập trình như C, Java, Python, v.v. Chúng tôi hy vọng bạn thấy hướng dẫn này hữu ích.