返回顶部
首页 > 资讯 > 后端开发 > JAVA >【JAVA】computeIfAbsent
  • 112
分享到

【JAVA】computeIfAbsent

java开发语言 2023-09-15 15:09:21 112人浏览 泡泡鱼
摘要

JAVA computeIfAbsent方法 方法介绍 computeIfAbsent是Java 8中Map接口新增的一个方法,用于在Map中根据指定的键获取对应的值,如果该键不存在,则使用指定的函数

JAVA computeIfAbsent方法

  1. 方法介绍
    computeIfAbsent是Java 8中Map接口新增的一个方法,用于在Map中根据指定的键获取对应的值,如果该键不存在,则使用指定的函数计算出一个默认值并将其存储到Map中,最后返回该默认值。
    语法如下:
V Map.computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction)

其中,key 表示要获取值的键,mappingFunction 表示计算默认值的函数。具体来说,如果 Map 中已经存在指定的键,则直接返回该键对应的值;否则,使用 mappingFunction 计算出一个默认值,并将该键和默认值存储到 Map 中,最后返回该默认值。

  1. 示例
Map<String, Integer> map = new HashMap<>();map.put("apple", 1);map.put("banana", 2);int orangeCount = map.computeIfAbsent("orange", k -> 0);System.out.println(orangeCount); // 输出 0int appleCount = map.computeIfAbsent("apple", k -> 0);System.out.println(appleCount); // 输出 1

在上面的示例中,首先创建了一个 Map 对象,并向其中添加了两个键值对。然后,使用 computeIfAbsent 方法获取了一个不存在的键 “orange” 对应的值,由于该键不存在,因此使用指定的函数 k -> 0 计算出了一个默认值 0,并将该键和默认值存储到 Map 中,最后返回了该默认值。接着,使用 computeIfAbsent 方法获取了一个已经存在的键 “apple” 对应的值,由于该键已经存在,因此直接返回了该键对应的值 1。

来源地址:https://blog.csdn.net/qq_32357509/article/details/131231765

--结束END--

本文标题: 【JAVA】computeIfAbsent

本文链接: https://lsjlt.com/news/408751.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 【JAVA】computeIfAbsent
    JAVA computeIfAbsent方法 方法介绍 computeIfAbsent是Java 8中Map接口新增的一个方法,用于在Map中根据指定的键获取对应的值,如果该键不存在,则使用指定的函数...
    99+
    2023-09-15
    java 开发语言
  • 基于Map的computeIfAbsent的使用场景和使用方式
    目录Map的computeIfAbsent使用场景和方法常规实现使用computeIfAbsent方法实现Map中computeIfAbsent() 的作用和底层实现一、comput...
    99+
    2024-04-02
  • Java8如何使用Map中computeIfAbsent方法构建本地缓存
    这篇文章将为大家详细讲解有关Java8如何使用Map中computeIfAbsent方法构建本地缓存,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、概念及使用介绍在JAVA8的Map接口中,增加了一个方...
    99+
    2023-06-17
  • 【Java】Java基础
    环境准备 安装JDK和JRE 下载JDK,可以在官网Java Downloads | Oracle 中国下载,但是这里需要注册才能够下载。在Index of java-local/jdk (huawe...
    99+
    2023-09-22
    java
  • java和java web区别
    java和java web区别人们平常说的Java一般指JavaSE,也就是Java Standard Edition,Java的标准版,一般用来开发桌面应用程序,但是在开发桌面应用程序上相对VB,Delphi,VC++并没有什么优势。而J...
    99+
    2022-01-04
    java
  • 【Java】Java中的多态
    文章目录 一、什么是多态二、多态实现的条件三、重写3.1 什么是重写3.2 重写和重载的区别 四、向上转型和向下转型4.1 向上转型4.2 向下转型 五、多态的优缺点六、避免在构造方法...
    99+
    2023-09-05
    java 开发语言
  • 【Java入门】初识Java
    前言 📕作者简介:热爱跑步的恒川,致力于C/C++、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于Java入门篇系列,该专栏主要讲解:什么是java、java的数据类型...
    99+
    2023-08-17
    java jvm 开发语言 经验分享
  • java ()->{}
    这种写法叫做Lambda 表达式,它是随着 Java 8 发布的最重要新特性 Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。 Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。 使用 ...
    99+
    2023-09-15
    java 开发语言 servlet
  • java: Compilation failed: internal java compiler error
    idea启动项目后出现 java: Compilation failed: internal java compiler error错误 第一种情况:idea的JDK版本和项目配置的不同。 解决方法:查看项目中配置的jdk版本,再查看ide...
    99+
    2023-09-01
    java intellij-idea jvm
  • Java Puzzlers & Effective Java - Book Sharing
    Java Puzzlers...
    99+
    2023-06-03
  • Java:详解Java中的异常
    目录Java异常常见异常throw和throws的区别final、finally、finalize的区别总结Java异常 Java中的异常:又称例外,是一个在程序执行期间发生的事件,...
    99+
    2024-04-02
  • 【Java 基础篇】Java Collection详解
    文章目录 导言一、Collection 简介二、List 接口三、Set 接口四、Map 接口总结 导言 Java的Collection框架是一组用于存储和操作对象的接口和类。它提供了...
    99+
    2023-09-14
    java 开发语言 jvm
  • 【Java 基础篇】Java Map 详解
    文章目录 导言一、Map 概述二、HashMap三、TreeMap四、LinkedHashMap总结 导言 在Java的集合框架中,Map接口用于存储键值对,提供了一种基于键进行查找和操作的数据结构。Map接口的实现类提供了...
    99+
    2023-08-30
    java 开发语言 数据结构
  • 【JAVA】java中的逻辑控制
     作者主页:paper jie的博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVASE语法系列》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造,将ja...
    99+
    2023-08-31
    java 开发语言
  • 【Java】 Java 中的构造函数
    本文仅供学习参考! 在任何面向对象的语言中,程序员都可以定义类并创建对象。在这些场景中,类成员需要一种初始化方法。构造函数是与类相关的特殊方法,它可以使用您想要的值初始化类的成员。 尽管构造函数...
    99+
    2023-10-05
    java 开发语言 构造函数 Java基础
  • 【Java 基础篇】Java List 详解
    文章目录 导言一、List 概述二、ArrayList三、LinkedList四、Vector总结 导言 在Java的集合框架中,List接口是一个有序、可重复的集合,它扩展了Coll...
    99+
    2023-09-11
    java list 数据结构
  • 【Java 基础篇】Java Set 详解
    文章目录 导言一、Set 概述二、HashSet三、TreeSet四、LinkedHashSet总结 导言 在Java的集合框架中,Set接口是一个无序、不可重复的集合,它扩展了Col...
    99+
    2023-10-18
    java 开发语言 数据结构
  • 【Java】使用Java实现爬虫
    文章目录 使用Java实现爬虫一、HttpClient实现模拟HTTP访问1.1 HttpClient1.2 引入依赖1.3 创建简单的请求操作1.3.1 创建实例1.3.2 Jsoup应用 1.4 爬取过程中可能出现的问题...
    99+
    2023-08-24
    java 爬虫
  • java @Value(
    java @Value("${}")获取不到配置文件中值 1、property.yml配置 spring: mail: port: 25 2、获取不到配置信息 问题...
    99+
    2024-04-02
  • Java --- Integer.parseInt()
    parseInt() 方法是java.lang 包下Integer 类的一个方法。 Java Integer parseInt() 方法共有三种不同类型,可以根据其参数进行区分。 用法: 以下是 parseInt() 方法的声明: publ...
    99+
    2023-09-27
    java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作