map.computeIfAbsent() 详解

2023-05-16

computeIfAbsent()
1、首先会判断map中是否有对应的Key;
2.1、如果没有对应的Key,则会创建一个满足Value类型的数据结构放到Value的位置中;
2.2、如果有对应的Key,则会操作该Key对应的Value.

  public static void main(String[] args) {
        HashMap<String, List<Integer>> map = new HashMap<>();
        /**
         * 首先,Map中没有 "hadoop" 这个Key,所以会创建一个满足Value类型的数据结构放入到Key对应的Value中
         * 随后对该Value对应的值进行操作,如下代码是:list.add(1)
         */
        map.computeIfAbsent("hadoop", key -> new ArrayList<>()).add(1);
        System.out.println(map);

        /**
         * Map中已经有 "hadoop" 这个 Key,所以会操作该Key对应的一个Value
         * 如下代码,对Key对应的Value进行 list.add(2) 这个操作
         */
        map.computeIfAbsent("hadoop", key -> new ArrayList<>()).add(2);
        System.out.println(map);

    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

map.computeIfAbsent() 详解 的相关文章

  • TreeMap 排序

    一 TreeMap TreeMap 默认排序规则 按照key的字典顺序来排序 升序 当然 也可以自定义排序规则 要实现Comparator接口 用法简单 先看下下面的demo public class SortDemo public sta
  • STL——map、set等红黑树结构的最后一个元素

    map set等背后由于红黑树的关系 插入元素后便成为 平衡 搜索树了 所以末尾元素默认为最大值 得到该值的方法 1 利用 rbegin 反向迭代器 int main int argc char argv map
  • Map和Set详解

    一 二叉搜索树搜索树 1 二叉搜索树的概念 二叉搜索树又称二叉排序树 它或者是一棵空树 或者是具有以下性质的二叉树 若它的左子树不为空 则左子树上所有节点的值都小于根节点的值 若它的右子树不为空 则右子树上所有节点的值都大于根节点的值 它的
  • 目标检测性能评价指标(mAP、IOU..)

    一 mAP 这里首先介绍几个常见的模型评价术语 现在假设我们的分类目标只有两类 计为正例 positive 和负例 negtive 分别是 1 True positives TP 被正确地划分为正例的个数 即实际为正例且被分类器划分为正例的
  • arcgis 发布wmts服务,弹出“服务器未做好发布准备”错误,解法。

    arcgis 发布wmts服务 总弹出 服务器未做好发布准备 之后 到arcgis server manage中找到服务发布工具启动 1 访问并登录管理器 http localhost 6080 arcgis manager 2 找到sys
  • C++ 中 map 容器的内存释放机制及内存碎片管理

    C 中 map 容器的内存释放机制及内存碎片管理 C 中的容器很好用 比如 vector map 等 可以动态扩容 自己管理内存 不用用户关心 但是在某些极端情况下 如果内存比较紧张的情况下 可能用户对于这些容器自己的管理规则 主要是释放规
  • Java Map集合知识点整理(疯狂Java讲义读书笔记)

    JDK文档 http tool oschina net apidocs apidoc api jdk zh Map Map用于保存具有映射关系的数据 因此Map集合里保存着两组值 一组值用于保存Map中的Key值 另一组值用于保存Map中的
  • Map 和 Set 使用的区别和联系(建议收藏)

    我是目录 1 搜索 1 概念及场景 2 模型 2 Map 的使用 3 Set 的使用 表现 两个接口 Set 和 Map 接口 1 搜索 1 概念及场景 Map 和 set 是一种专门用来进行 搜索的容器 或者 数据结构 其搜索的效率与其具
  • LinkedHashMap常用方法源码

    类介绍 注释 add contains remove 方法 时间复杂度是O 1 LinkedHashMap的遍历耗时 与 capacity无关 与map的size 元素多少 呈线性 HashMap的遍历 可能比 LinkedHashMap更
  • java8的lambda中的map相关操作

    0 入门详解篇 1 史上最简单入门 java8的lambda中的map相关操作 基础及注意事项图文详解 2 java8的lambda中collect接口案例及原理详解 官方文档解读 3 java8 封装lambda泛型工具类之list转为m
  • Java并发编程学习9-并发基础演练

    Java并发编程学习系列 构建高效且可伸缩的结果缓存 引言 主要内容 1 HashMap 并发机制 2 ConcurrentHashMap 3 ConcurrentHashMap Future 4 ConcurrentHashMap Fut
  • map的常用用法详解

    头文件 include
  • 根据地理信息获取经纬度

    同步坐标 function synchronizationCoordinate var url http maps google com maps api geocode json address encodeURIComponent va
  • 理解目标检测当中的mAP

    我们在评价一个目标检测算法的 好坏 程度的时候 往往采用的是pascal voc 2012的评价标准mAP 网上一些资料博客参差不齐 缺乏直观易懂的正确说明 希望这篇博文能够给大家一点帮助 mAP历史 目标检测的mAP计算方式在2010年的
  • C++ auto遍历无法直接修改map的数据

    对于std map 当使用for auto it myMap 这种范围循环形式时 实际上是使用了const迭代器进行遍历 这意味着你无法通过该迭代器直接修改std map中的值 范围循环使用的是容器的begin 和end 函数返回的迭代器
  • 怎样为std::map的自定义key提供比较操作(一)

    stl的关联容器 map set 的key一般要求提供 lt 比较操作 假设我们有一个结构SomeKey struct SomeKey int a b 要想以SomeKey作为std map的key 需要为这个结构提供operator lt
  • JAVA--Map集合详解

    特点 该集合存储键 key 值 value 对 一对一对往里存 而且要保证键 key 的唯一性 Map集合和Set集合很像 其实Set集合底层就是使用了Map集合 什么时候使用Map集合 当数据之间存在映射关系时 优先考虑Map集合 Map
  • TextSymbol使用方法

    private var grapbiaozhu GraphicsLayer new GraphicsLayer grapbiaozhu clear map addLayer grapbiaozhu var gra Graphic new G
  • java Map集合

    目录 一 介绍 二 HashMap 三 TreeMap 四 LinkedHashMap 一 介绍 Java中的Map是一种键值对的集合数据类型 用于存储无序的 不重复的键值对 它提供了快速的查找和访问功能 可以根据键来获取值 常见的Map实
  • Java实体类转Map、Map转实体类

    1 创建entity User java package com jeff entity public class User private String userName private String password private I

随机推荐

  • 用Bootstrap写一份简历

    以前学习Bootstrap时练手用的 分享给大家 注意Bootstrap相关文件的路径 xff0c Bootstrap依赖jQuery xff0c 需要先加载jQuery Github代码链接 xff1a 链接 如果有点小用 xff0c 求
  • Linux创建新环境

    Linux的环境操作 1 下载anaconda2 conda导出环境3 conda创建新环境4 pip创建和导出新环境5 pytorch版本安装6 通过通道安装cpython7 通过SCP指定对方端口传输文件8 释放服务器中的缓存 1 下载
  • 【树莓派】树莓派开放WiFi热点

    树莓派4B上创建WiFi热点 xff08 真实可用 xff09 第一步 xff1a 给树梅派4B刷写系统 xff0c 我用的是目前最新的官方系统 xff0c 镜像名称为2021 01 11 raspios buster armhf img
  • Python爬虫攻略(1)>使用Requests获取LOL游戏攻略

    申明 xff1a 本文对爬取的数据仅做学习使用 xff0c 不涉及任何商业活动 xff0c 侵删 Python爬虫教程 gt 1 使用Requests获取LOL游戏攻略 前戏 如果你想先了解一下什么是爬虫 建议看一下这篇文章 学习爬虫前你需
  • Linux下gitee的使用—— 一看就懂得操作

    在做基于ds18b20温度监控的项目开始时 xff0c 就一直在使用git仓库 xff0c 一直没有写过博客 xff0c 基于今天家里没事 xff0c 刚好可以写一下git版本控制的使用 xff01 废话不多说 xff0c 上教程 xff0
  • 文献阅读2:Deep Video Super-Resolution Network

    Deep Video Super Resolution Network Using Dynamic Upsampling Filters Without Explicit Motion Compensation 隐式运动补偿的动态上采样滤波
  • 形参和实参

    形参和实参的区别 形参出现在函数定义中 xff0c 在整个函数体内都可以使用 xff0c 离开该函数则不能使用 实参出现在主调函数中 xff0c 进入被调函数后 xff0c 实参变量也不能使用 形参和实参的功能是作数据传送 发生函数调用时
  • centos 连接windows远程桌面方法

    目录 1 下载并安装软件nux dextop release rpm 2 安装rdesktop软件 3 远程windows桌面 4 rdesktop退出全屏模式 1 下载并安装软件nux dextop release rpm wget ht
  • Winpcap教程(高级应用)

    循序渐进学习使用WINPCAP xff08 五 xff09 WinPcap或libpca最强大的特点之一就是数据流的过滤引擎 它提供一种高效的方法来只捕获网络数据流的某些数据而且常常和系统的捕获机制相集成 过滤数据的函数是pcap comp
  • linux/ubuntu取消sudo输入密码的办法

    Linux Ubuntu sudo不用输入密码的方法 通常我们并不以root身份登录 xff0c 但是当我们执行某些命令 command 时需要用到root权限 xff0c 我们通常都是用 34 sudo command 34 来执行com
  • verilog通过中+:与-:解决变量内固定长度数据位的动态选取

    在FPGA设计过程 xff0c 尤其是算法实现时hi xff0c 有时往往需要选取某个变量的动态范围地址 xff0c 而verilog中常规的向量标识方法a MSB LSB 往往会发生错误 xff0c 在此可借用a BASE WIDTH 的
  • IDEA配置Hadoop插件

    一 安装插件 1 1搜索的方式安装 xff1a setting中找到plugins插件 xff0c 然后搜索big Data 如下图 xff1a 如果找不到可以修改几个配置试一下 xff1a 如果还是不行 xff0c 你可以在cmd里面 p
  • linux的进程突然没有了

    这几天在linux服务器上跑实验 xff0c 进程占用的空间比较大 xff0c 而且占用的时间也比较长 xff0c 有时候会发现进程突然没有了 这个时候去翻了翻系统的内核日志 xff0c var log 路径下会有一个kern log的日志
  • IDEA建hadoop项目

    一 新建项目project 选择maven xff1b 填写maven的坐标 xff0c groupId xff0c artifactId xff0c 以及 version xff0c 其中groupId是公司域名的反写 xff0c 而ar
  • OpenWRT路由器-中继模式下无线接入

    本文主要介绍刷入了OpenWRT系统的路由器如何作为二级路由器 xff0c 通过wifi接入上一级路由以及发出wifi供本局域网下的设备连接 二级路由器可以增强现有的信号 现在的路由器一般都是双频路由器 xff0c 双频路由器往往是两块网卡
  • XSS(Reflected) 反射型跨站攻击

    今天我学习一下反射型XSS 打开DVWA网站 xff0c 先切换到low级别 xff0c 选择XSS xff08 Reflected xff09 先查看其源代码 xff1a lt php header 34 X XSS Protection
  • Notepad++离线安装NppFTP

    文章目录 第一步 下载第二步 安装第三步 重启Notepad 43 43 后即可使用 第一步 下载 下载地址 xff1a https github com ashkulz NppFTP releases 选择对应版本解压 xff0c x86
  • nested exception is com.microsoft.sqlserver.jdbc.SQLServerException

    今天在写一个数据库语句的时候 xff0c 出现了一个错误 xff0c 话不多说 xff0c 上图 nested exception is com microsoft sqlserver jdbc SQLServerException 仅当使
  • 一文搞懂SpringSecurity,spring-security配置文件详解,史上最全

    一 认证和授权概念 1 在生产环境下我们如果不登录系统是否能对业务进行操作 xff1f 答案显然是否定的 xff0c 要操作这些功能必须首先登录到系统才可以 2 是不是所有用户 xff0c 只要登录成功就都可以操作所有功能呢 xff1f 答
  • map.computeIfAbsent() 详解

    computeIfAbsent 1 首先会判断map中是否有对应的Key xff1b 2 1 如果没有对应的Key xff0c 则会创建一个满足Value类型的数据结构放到Value的位置中 xff1b 2 2 如果有对应的Key xff0