ConcurrentHashMap putIfAbsent和的put区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ConcurrentHashMap putIfAbsent和的put区别相关的知识,希望对你有一定的参考价值。

putIfAbsent:

        当key不存在的时候调用put方法将key存入进map

        当key存在的时候相当于return map.get(key)

  public static void main(String[] args) {
        ConcurrentHashMap map = new ConcurrentHashMap();
        Object o = map.putIfAbsent("aaa", "bbb");
        System.out.println("111"+o);
        Object o1 = map.putIfAbsent("aaa", "bbb");
        System.out.println("222"+o1);

    }

输出

111null
222bbb

put    

    与之hashMap相同,当key存在时,put同样的key将被覆盖

本文出自 “幕后黑手” 博客,请务必保留此出处http://11942699.blog.51cto.com/11932699/1882402

以上是关于ConcurrentHashMap putIfAbsent和的put区别的主要内容,如果未能解决你的问题,请参考以下文章

JDK1.7中的ConcurrentHashMap

ConcurrentHashMap

ConcurrentHashmap原理

ConcurrentHashmap原理

ConcurrentHashMap面试问题总结

Java集合--ConcurrentHashMap原理