HOWTO · Java

Java のインクリメント マップ

このチュートリアルでは、Java でマップをインクリメントする方法について説明します。

Java で Maps または HashMaps を操作する場合、値を増やす必要がある場合があります。 Java では、Map の値をインクリメントする多くの方法があります。

この記事では、トピックを簡単にするために必要な例と説明とともに、Java で Map 値をインクリメントする方法を説明します。

例に進む前に、Map 値をインクリメントするために必要な基本的な手順を見てみましょう。

  1. 値をインクリメントするには、まず、Map のキーを取得する必要があります。
  2. その後、Map から現在の値を取得する必要があります。
  3. 以下で共有する方法のいずれかを使用して、Map 値を簡単に増やすことができます。

このメソッドの例を見てみましょう。

方法 1: Java で Map 値をインクリメントする一般的な方法

以下の例は、Map をインクリメントする最も簡単な方法を示しています。 サンプルコードを見てください。

// Importing necessary packages
import java.util.HashMap;
import java.util.Map;

// Our main class
class Main {
  public static <K> void IncrementMapValue(Map<K, Integer> MyMap, K key) {
    // Collecting the Map key
    Integer count = MyMap.get(key);

    // Checking whether the Map value is null
    if (count == null) {
      count = 0;
    }

    // increment the Map value
    MyMap.put(key, count + 1);
  }

  public static void main(String[] args) {
    Map<String, Integer> MyMap = new HashMap(); // Creating an object of Map
    MyMap.put("Value-A", 100); // Putting a value for MyMap

    IncrementMapValue(MyMap, "Value-A"); // Incrementing value
    IncrementMapValue(MyMap, "Value-B"); // Incrementing value

    System.out.println(MyMap);
  }
}

各行の目的については既にコメントしましたが、上記のコード例を実行すると、次のような出力が得られます。

{Value-B=1, Value-A=101}

方法 2: Java で containsKey() を使用して Map 値をインクリメントする

// Importing necessary packages
import java.util.HashMap;
import java.util.Map;

// Our main class
class Main {
  public static <K> void IncrementMapValue(Map<K, Integer> MyMap, K key) {
    // Collecting the Map key and getting the current value of the Map
    Integer count = MyMap.containsKey(key) ? MyMap.get(key) : 0;
    MyMap.put(key, count + 1); // increment the Map value
  }

  public static void main(String[] args) {
    Map<String, Integer> MyMap = new HashMap(); // Creating an object of Map
    MyMap.put("Value-A", 100); // Putting a value for MyMap

    IncrementMapValue(MyMap, "Value-A"); // Incrementing value
    IncrementMapValue(MyMap, "Value-B"); // Incrementing value

    System.out.println(MyMap);
  }
}

各行の目的についてはすでにコメントしました。 上記の例では、containsKey() は、Map にキーのマッピングが含まれているかどうかをチェックします。

上記のサンプル コードを実行すると、次のような出力が得られます。

{Value-B=1, Value-A=101}

方法 3: Java で AtomicInteger または MutableInt クラスを使用して Map 値をインクリメントする

// Importing necessary packages
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;

// Our main class
class Main {
  public static <K> void IncrementMapValue(Map<K, Integer> MyMap, K key) {
    // Collecting the Map key and getting the current value of the Map
    AtomicInteger AtomicInt = new AtomicInteger(MyMap.containsKey(key) ? MyMap.get(key) : 0);
    MyMap.put(key, AtomicInt.incrementAndGet()); // increment the Map value
  }

  public static void main(String[] args) {
    Map<String, Integer> MyMap = new HashMap(); // Creating an object of Map
    MyMap.put("Value-A", 100); // Putting a value for MyMap

    IncrementMapValue(MyMap, "Value-A"); // Incrementing value
    IncrementMapValue(MyMap, "Value-B"); // Incrementing value

    System.out.println(MyMap);
  }
}

各行の目的についてはすでにコメントしました。 ここでは、メソッド incrementAndGet() を使用して Map 値をインクリメントします。

上記のサンプル コードを実行すると、次のような出力が得られます。

{Value-B=1, Value-A=101}