Java8のMapクラスに追加されたcomputeメソッド
Java8のMapクラスにcomputeというメソッドが追加されました。
第一引数で指定したキーが存在する場合、加工することができるメソッドです。以下例では、戻り値はString型です。
以下、例です。
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","value"); map.put("key2","value"); String str = map.compute("key1",(k,v) -> k + ":" + v); System.out.println(str); } }
結果は以下のようになります。
key1:value
第二引数にnull
第一引数で指定したキーが存在する場合、第二引数のremappingFunctionの戻り値にnullを指定すると要素が削除されます。
Map<Integer,String> map = new HashMap<>(); map.put(1,"test"); System.out.println(map.size()); // 1 var ret = map.compute(1, (k,v)-> null); System.out.println(ret); // null System.out.println(map.size()); // 0

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント
戻り値はString型とは限りませんね。
ご指摘ありがとうございます!^^;
「ここでは」と追記しました☆