Java8のMapクラスにmergeというメソッドが追加されました。
mergeもcomputeと同じくMapの値を加工するメソッドです。
戻り値はString型で、かつ、値自体も加工します。
以下、例です。
1 2 3 4 5 6 7 8 9 10 11 12 |
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")); } } |
結果は以下のようになります。
1 2 |
pre-value1 pre-value1 |
キーが存在しない場合、mergeメソッドを使用すると以下のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 |
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")); } } |
以下、結果です。
1 2 |
pre- pre- |
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^