Java8のMapクラスに追加されたmergeメソッド

Java8のMapクラスに追加されたmergeメソッド

Java8のMapクラスにmergeというメソッドが追加されました。

mergeもcomputeと同じくMapの値を加工するメソッドです。

戻り値はString型で、かつ、値自体も加工します。

以下、例です。

import java.util.Map;
import java.util.HashMap;
public class Sample4 {
  public static void main(String[] args) {
    Map<String,String> map = new HashMap<String,String>();
    map.put("key1","value1");
    map.put("key2","value2");
    String str = map.merge("key1","pre-",(val1,val2) -> val2 + val1);
    System.out.println(str);
    System.out.println(map.get("key1"));
  }
}

結果は以下のようになります。

pre-value1
pre-value1

キーが存在しない場合、mergeメソッドを使用すると以下のようになります。

import java.util.Map;
import java.util.HashMap;
public class Sample4 {
  public static void main(String[] args) {
    Map<String,String> map = new HashMap<String,String>();
    map.put("key1","value1");
    map.put("key2","value2");
    String str = map.merge("key3","pre-",(val1,val2) -> val2 + val1);
    System.out.println(str);
    System.out.println(map.get("key3"));
  }
}

以下、結果です。

pre-
pre-

コメント

タイトルとURLをコピーしました