Java8のMapクラスに追加されたreplaceメソッド
Java8のMapクラスにreplaceというメソッドが追加されました。
このメソッドはネーミング通り値を置き換えてくれますが、いくつか使い方があります。
以下、例です。
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("key","value");
map.replace("key","new");
System.out.println(map.get("key"));
}
}
結果は以下のようになります。
new
これはmapにkeyがありますが、存在しない場合にreplaceすると以下のようになります。
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.replace("key","new");
System.out.println(map.get("key"));
}
}
結果は以下のようになります。
null
このことからmapにキーがある場合のみ置き換えてくれることがわかります。
replaceの使い方として、もう一つ使い方があります。
キーが存在し、値が一致する場合置き換えることができます。
以下、例です。
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("key","value");
map.replace("key","value","more new");// 値が一致する
map.replace("key","val","more more new");// 値が一致しない
System.out.println(map.get("key"));
}
}
結果は以下のようになります。
more new
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント