博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ConcurrentHashMap中的putIfAbsent方法的使用以及返回值的含义
阅读量:7094 次
发布时间:2019-06-28

本文共 1352 字,大约阅读时间需要 4 分钟。

public V putIfAbsent(@NotNull K key, 

@NotNull V value)

putIfAbsent方法主要是在向ConcurrentHashMap中添加键—值对的时候,它会先判断该键值对是否已经存在。

如果不存在(新的entry),那么会向map中添加该键值对,并返回null。 

如果已经存在,那么不会覆盖已有的值,直接返回已经存在的值。 
相当于:

V v = map.get(key); if (v == null)     v = map.put(key, value); return v;

返回值: 

(1)如果是新的记录,那么会向map中添加该键值对,并返回null。 
(2)如果已经存在,那么不会覆盖已有的值,直接返回已经存在的值。

测试代码:

package com.tao.client;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;/** * Created by michael on 17-7-13. */public class Test { public static void main(String[] args) { //测试一下currentHashMap.putIfAbsent() Map
clientMap = new ConcurrentHashMap<>(); System.out.println("首先打印空的clientMap"); System.out.println("clientMap: " + clientMap); System.out.println(); //在空的clientMap中添加一个新的记录 System.out.println("在空的clientMap中添加一个新的记录"); System.out.println("添加之前的clientMap: " + clientMap); long netId = 1234567L; String str1 = "michael"; String result = clientMap.putIfAbsent(netId, str1); System.out.println("添加之后的clientMap: " + clientMap); System.out.println("查看返回值result: " + result); System.out.println(); //重复添加 System.out.println("重复添加上一次的记录"); System.out.println("添加之前的clientMap: " + clientMap); String result2 = clientMap.putIfAbsent(netId, str1); System.out.println("添加之后的clientMap: " + clientMap); System.out.println("查看返回值result: " + result2); System.out.println(); } }

 

输出结果: 

控制台输出结果

你可能感兴趣的文章
lex&yacc7
查看>>
C++ 语音聊天
查看>>
Javadoc注释的用法
查看>>
异步/同步、阻塞/非阻塞的理解
查看>>
sql中如何调用另一台服务器的数据库查询数据呢?
查看>>
EF+Code First+Database First+Model First,EF开发流程
查看>>
HttpWebRequest的常见错误使用TcpClient可避免
查看>>
报表技术
查看>>
java基础---多线程---volatile详解
查看>>
eclipse中tomcat启动成功,浏览器访问失败
查看>>
中文乱码(Python、WEB、ajax)
查看>>
mysql 开发进阶篇系列 43 逻辑备份与恢复(mysqldump 的基于时间和位置的不完全恢复)...
查看>>
Go开发之路 -- 流程控制
查看>>
bootstrap:按钮下拉菜单
查看>>
git diff命令
查看>>
LeetCode:Climbing Stairs(DP)
查看>>
STC12C5A60S2笔记7(定时器)
查看>>
[HNOI2004]宠物收养场 BZOJ1208 splay tree
查看>>
Python标准模块--built-ins函数
查看>>
mysql超时机制
查看>>