低调大师

您现在的位置是: 首页 > JAVA8 MAP新增方法详解

文章详情

JAVA8 MAP新增方法详解

云栖社区-编程语言 2019-8-14 0:0 8已围观 收藏 加入我们

1、compute

default V compute(K key,BiFunction<? super K,? super V,? extends V> remappingFunction)
Attempts to compute a mapping for the specified key and its current mapped value (or null if there is no current mapping).
尝试通过Lambda表达式重新计算给定KEY的映射值并更新MAP(值为null则删除KEY,否则重新写入)。

 Map<String, String> tMap = new HashMap<String, String>() {
            {
                put("A", "AAA");
                put("B", "BBB");
            }
        };
tMap.compute("A", (k, v) -> v == null ? "AAA" : v.concat("AAA"));//KEY存在VALUE不为空且Lambda计算结果不为空,更新KEY
System.out.println(tMap);
tMap.compute("B", (k, v) -> v == null ? "BBB" : null);//KEY存在VALUE不为空但Lambda计算结果为空,删除KEY
System.out.println(tMap);
tMap.compute("C", (k, v) -> v == null ? "CCC" : v.concat("CCC"));//KEY不存在但Lambda计算结果不为空,新增KEY
System.out.println(tMap);

image

文章转载至:https://yq.aliyun.com/articles/714329
收藏 (0)

文章评论

共有0条评论来说两句吧...