Java8のMapクラスにreplaceAllというメソッドが追加されました。
replaceAllは全ての要素の値を一気に置き換えます。
1 2 3 4 5 6 7 8 9 10 11 12 |
import java.util.Map; import java.util.HashMap; public class Sample { public static void main(String[] args) { Map<String,String> map = new HashMap<String,String>(); map.put("key1","value1"); map.put("key2","value2"); map.put("key3","value3"); map.replaceAll((k,v) -> "test"); map.entrySet().stream().forEach(System.out::println); } } |
結果は以下のようになります。
1 2 3 |
key1=test key2=test key3=test |
以下のように関数オブジェクトを指定することも可能です。関数内で条件指定して置換することができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
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"); map.put("key3","value3"); map.replaceAll((k,v) -> { if (k.equals("key2")) { return "test1"; } return "test2"; }); map.entrySet().stream().forEach(System.out::println); } } |
結果は以下のようになります。
1 2 3 |
key1=test2 key2=test1 key3=test2 |
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^