C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++反復中に、HashMapから値を使用してエントリを削除します


たとえば、値を繰り返し処理しながら、値を使用してHashMapからエントリを削除する方法について説明します。

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” }.

解決策を見つけるためのアプローチ

C ++では、.erase()関数を使用して要素を削除できます。 Erase()関数から、キー名またはイテレータを使用して要素を削除できます。このチュートリアルでは、イテレータを使用して要素を削除する方法について説明します。

ここでは、ハッシュマップを繰り返し処理し、すべての値が削除されているかどうかを確認し、値が一致したときにエントリを削除します。

上記のアプローチのC++コード

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;
}

出力

HashMap before Deletion:
1->Mango
2->Orange
3->Banana
4->Apple

HashMap After Deletion:
1->Mango
2->Orange
4->Apple

結論

このチュートリアルでは、valueを使用してHashMapからエントリを削除する方法について説明しました。エントリを繰り返し処理して削除する方法について説明しました。また、C、Java、Pythonなどのプログラミング言語で実行できるこの問題のC++プログラムについても説明しました。このチュートリアルがお役に立てば幸いです。


  1. C ++を使用してパワー(pow)関数を記述します

    べき関数は、底と指数である2つの数値が与えられた場合のべき乗を見つけるために使用されます。その結果、基数が指数の累乗になります。 これを示す例は次のとおりです- Base = 2 Exponent = 5 2^5 = 32 Hence, 2 raised to the power 5 is 32. C++のべき関数を示すプログラムは次のとおりです- 例 #include using namespace std; int main(){    int x, y, ans = 1;    cout << "Enter the

  2. 値を使用してHashMapからキーを取得するJavaプログラム

    この記事では、値を使用してHashMapからキーを取得する方法を理解します。 Java HashMapは、JavaのMapインターフェースのハッシュテーブルベースの実装です。キーと値のペアのコレクションです。 以下は同じのデモンストレーションです- 入力がであると仮定します − Input HashMap: {Java=8, Scala=5, Python=15} Key: 8 必要な出力は − The value of Key: 8 is Java アルゴリズム Step 1 - START Step 2 - Declare namely Step 3 - Define the v