HOWTO · Java
Java のインクリメント マップ
このチュートリアルでは、Java でマップをインクリメントする方法について説明します。
Java で Maps または HashMaps を操作する場合、値を増やす必要がある場合があります。 Java では、Map の値をインクリメントする多くの方法があります。
この記事では、トピックを簡単にするために必要な例と説明とともに、Java で Map 値をインクリメントする方法を説明します。
例に進む前に、Map 値をインクリメントするために必要な基本的な手順を見てみましょう。
- 値をインクリメントするには、まず、
Mapのキーを取得する必要があります。 - その後、
Mapから現在の値を取得する必要があります。 - 以下で共有する方法のいずれかを使用して、
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}