深圳模板开发建站,万网官网电话,自己制作app软件,北京网站制作费用提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 Map方法computeIfAbsent1.computeIfAbsent 方法的简介2.案例computeIfAbsent() Map方法computeIfAbsent
computeIfAbsent方法是Java 8中引入的一种简化操作Map的方… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 Map方法computeIfAbsent1.computeIfAbsent 方法的简介2.案例computeIfAbsent() Map方法computeIfAbsent
computeIfAbsent方法是Java 8中引入的一种简化操作Map的方式。
该方法通过自动检查键值对是否存在并生成缺失的值减少了手动检查和插入的样板代码。它不仅使代码更加简洁和易读还提高了操作的效率和一致性。
1.computeIfAbsent 方法的简介
在Java编程中Map接口提供了一个便捷的方法computeIfAbsent它可以用来从map中获取key对应的value。如果value不存在就使用提供的Function创建一个新的value然后存入map中最后返回这个新创建的value 2.案例
判断map中是否存在如果存在则添加元素到set中如果不存在则新建set添加到hashMap中 public class TestComputeIfAbsent {static HashMapString, SetString hashMap new HashMap();public static void main(String[] args) {SetString set new HashSet();set.add(zhangSan);hashMap.put(china, set);// 判断map中是否存在如果存在则添加元素到set中如果不存在则新建set添加到hashMap中if (hashMap.containsKey(china)) {hashMap.get(china).add(liSi);} else {SetString setTmp new HashSet();setTmp.add(liSi);hashMap.put(china, setTmp);}System.out.println(hashMap.toString());}}computeIfAbsent()
public class Test01 {static HashMapString, SetString hashMap new HashMap();public static void main(String[] args) {SetString set new HashSet();set.add(zhangSan);hashMap.put(china, set);// after JDK1.8hashMap.computeIfAbsent(china, key - {SetString set1 new HashSet();return set1;}).add(liSi);System.out.println(hashMap.toString());}}hashMap.computeIfAbsent(“china”, key - getValues(key)).add(“liSi”);的意思表示key为“China”的建值对是否存在返回的是value的值。
如果存在则获取china的值并操作值的set添加数据“lisi。如果不存在则调用方法新创建set结构将lisi添加到set中再存入到hashMap中。