栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

map.computeIfAbsent

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

map.computeIfAbsent

map.computeIfAbsent
public V computeIfAbsent(K key, Function mappingFunction)

如果 key 对应的 value 不存在,则使用获取 mappingFunction 计算后的值,并保存为该 key 的 value,否则返回 value。

import java.util.HashMap;

HashMap hashmap=new HashMap();
hashmap.computeIfAbsent(10, key->Integer.valueOf(7));

HashMap> hashmap=new HashMap>();
hashmap.computeIfAbsent(10, key->new ArrayList()).add(3);

HashMap prices = new HashMap<>();

prices.put("Shoes", 200);
prices.put("Bag", 300);
prices.put("Pant", 150);

// 计算 Shirt 的值
int shirtPrice = prices.computeIfAbsent("Shirt", key -> 280);
// java8 之前。从 map 中根据 key 获取 value 操作可能会有下面的操作
Object key = map.get("key");
if (key == null) {
    key = new Object();
    map.put("key", key);
}
// java8 lambda
Object key = map.computeIfAbsent("key", k -> new Object());
getOrDefault
default V getOrDefault(Object key, V defaultValue)

如果在 map 中存在 key 值则返回 key 对应的映射中的内容,否则返回指定的内容。

HashMap hashmap=new HashMap();
// 不存在 key 值,取 8,同时 key 赋值 8
int test = hashmap.computeIfAbsent(10, key->Integer.valueOf(8)); 
int test2=hashmap.getOrDefault(11, 8); // 不存在 key 值,取 8,不赋值。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/681736.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号