Java ConcurrentMap 接口 2022-02-19 12:04 10137阅读 0赞 # Java ConcurrentMap 接口 Java 集合框架的`ConcurrentMap`接口提供了一个线程安全的映射。也就是说,多个线程可以一次访问该映射,而不会影响映射中条目的一致性。 `ConcurrentMap`被称为同步地图。 它扩展了Map 接口。 ------ ## 实现 ConcurrentMap 的类 由于`ConcurrentMap`是一个接口,我们不能从它创建对象。 为了使用`ConcurrentMap`接口的功能,我们需要使用`ConcurrentHashMap`实现它的类。  ------ ## 如何使用并发映射? 要使用`ConcurrentMap`,我们必须先导入`java.util.concurrent.ConcurrentMap`包。导入包后,以下是创建并发映射的方法。 ``` // ConcurrentMap implementation by ConcurrentHashMap CocurrentMap<Key, Value> numbers = new ConcurrentHashMap<>(); ``` 在上面的代码中,我们创建了一个并发映射,命名为数字. 这里, - 钥匙- 用于关联地图中每个元素(值)的唯一标识符 - 价值- 由地图中的键关联的元素 ------ ## ConcurrentMap 的方法 `ConcurrentMap`接口包括接口的所有方法`Map`。因为`Map`是接口的超级`ConcurrentMap`接口。 除了所有这些方法,这里是特定于`ConcurrentMap`接口的方法。 - **putIfAbsent()** - 如果指定的键尚未与任何值关联,则将指定的键/值插入映射。 - **compute()** - 计算指定键及其先前映射值的条目(键/值映射)。 - **computeIfAbsent()** - 如果键尚未映射到任何值,则使用指定函数为指定键计算值。 - **computeIfPresent()** - 如果键已经映射到指定的值,则计算指定键的新条目(键/值映射)。 - **forEach()** - 访问地图的所有条目并执行指定的操作。 - **merge()** - 如果键已经映射到某个值,则将新指定值与指定键的旧值合并。如果键尚未映射,则该方法只是将指定的值与我们的键相关联。 ------ ## ConcurrentHashMap中ConcurrentMap的实现 ``` import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ConcurrentHashMap; class Main { public static void main(String[] args) { // Creating ConcurrentMap using ConcurrentHashMap ConcurrentMap<String, Integer> numbers = new ConcurrentHashMap<>(); // Insert elements to map numbers.put("Two", 2); numbers.put("One", 1); numbers.put("Three", 3); System.out.println("ConcurrentMap: " + numbers); // Access the value of specified key int value = numbers.get("One"); System.out.println("Accessed Value: " + value); // Remove the value of specified key int removedValue = numbers.remove("Two"); System.out.println("Removed Value: " + removedValue); } } ``` **输出** ``` ConcurrentMap:{一=1,二=2,三=3} 访问值:1 移除值:2 ``` 文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。
相关 Java中的Map【四】ConcurrentMap接口 所使用的jdk版本为1.8版本,先看一下ConcurrentMap<K,V>在JDK中Map的UML类图中的位置: ![watermark_type_ZmFuZ3poZW5n 港控/mmm°/ 2021年09月20日 23:20/ 0 赞/ 358 阅读
相关 Java ConcurrentMap 接口 Java ConcurrentMap 接口 Java 集合框架的ConcurrentMap接口提供了一个线程安全的映射。也就是说,多个线程可以一次访问该映射,而不会影响映... 朱雀/ 2022年02月19日 12:04/ 0 赞/ 10138 阅读
相关 Java集合--ConcurrentMap Java集合–ConcurrentMap 1 Map并发集合 1.1 ConcurrentMap ConcurrentMap,它是一个接口,是一个能够支持并发 我就是我/ 2022年03月15日 02:04/ 0 赞/ 195 阅读
相关 彻头彻尾的理解ConcurrentMap 转载:[https://blog.csdn.net/justloveyou\_/article/details/72783008][https_blog.csdn.net_ju ﹏ヽ暗。殇╰゛Y/ 2022年05月05日 12:58/ 0 赞/ 199 阅读
相关 Atomic Variables and ConcurrentMap AtomicInteger The package `java.concurrent.atomic` contains many useful classes to pe 野性酷女/ 2022年05月14日 01:51/ 0 赞/ 198 阅读
相关 ConcurrentMap接口 ConcurrentMap接口 两个实现 ConcurrentHashMap ConcurrentSkipListMap 支持并发排序功能,弥补Concurr 今天药忘吃喽~/ 2022年05月14日 04:56/ 0 赞/ 215 阅读
相关 Atomic Variables and ConcurrentMap AtomicInteger `java.concurrent.atomic`包中包含了许多可以执行原子操作的类,所谓的原子操作是指在多线程并发的情况下无需使用`synch 悠悠/ 2022年05月14日 06:38/ 0 赞/ 140 阅读
相关 Java并发编程---并发类容器(ConcurrentMap容器) 一.背景前奏 jdk5.0以后提供了多种并发类容器来替代同步类容器从而改善性能.同步类容器的状态都是串行化的.他们虽然实现了线程安全.但是严重降低了并发性,在多线程环境时, 我不是女神ヾ/ 2022年06月02日 02:57/ 0 赞/ 264 阅读
相关 Java8 并发之原子变量与ConcurrentMap 前言 > 点击查看原文 [原文地址][Link 1] 第一部分:[线程(Thread)与执行体(Executors)][Thread_Executors] 小灰灰/ 2022年06月12日 09:29/ 0 赞/ 186 阅读
相关 [Java] ConcurrentMap 分析和思考 预备知识:[Java HashMap and HashSet 的实现机制][Java HashMap and HashSet] 由预备知识可以知道hashmap 的存储结构为 痛定思痛。/ 2022年09月30日 03:58/ 0 赞/ 125 阅读
还没有评论,来说两句吧...