从 Java 树形图中获取同步图
原文:https://www . geesforgeks . org/get-synchronized-map-from-Java-tree map/
树形图 是 Java Collections 框架的一部分。Java TreeMap 包含基于键的值。实现了导航 接口,扩展了抽象映射类。它提供了一种以排序顺序存储键值对的有效方法。Java TreeMap 只包含唯一的元素。它不能有空键,但可以有多个空值。TreeMap 保持元素的升序。同步是指控制多个线程对任意共享资源的访问。一次只能有一个线程访问同步的资源。Java TreeMap 是不同步的,我们必须显式同步它,以便在多–线程环境中使用它。
可以使用collections . synchronized map()方法同步树形图。Collections 类的synchronized Map()方法将必须同步的 Map 作为参数,并返回线程安全的同步 Map。 java.util.Collections 类的 synchronizedMap() 方法用于返回由指定映射支持的同步(线程安全)映射。为了保证串行访问,通过返回的映射完成对后备映射的所有访问是至关重要的。
*语法:*
public static <K, V> Map<K, V> synchronizedMap(Map<K, V> m)
*参数:*该方法将地图作为参数“包裹”在同步地图中。
*返回值:*该方法返回指定地图的同步视图。
*实施:*
*例*
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to demonstrate
// synchronization of TreeMap
// Importing all classes from
// java.util package
import java.util.*;
// Class
public class GFG {
// Main driver method
public static void main(String[] args) throws Exception
{
// Try block to check if any exception occurs
try {
// Step1: Creating a TreeMap object
// Declaring object of string type
TreeMap<String, String> treeMap
= new TreeMap<String, String>();
// Step2: Adding elements into the above Map
// Custom inputs
treeMap.put("1", "Welcome");
treeMap.put("2", "To");
treeMap.put("3", "Geeks");
treeMap.put("4", "For");
treeMap.put("5", "Geeks");
// Printing all elements of the above Map object
System.out.println("Map : " + treeMap);
// Synchronizing the map using
// synchronizedMap() method of Collection class
Map<String, String> sMap
= Collections.synchronizedMap(treeMap);
// Printing the Collection
System.out.println("Synchronized map is : "
+ sMap);
}
// Catch block to handle the exceptions
catch (IllegalArgumentException e) {
// Displaying and printing the exception
System.out.println("Exception thrown : " + e);
}
}
}
**Output
java
Map : {1=Welcome, 2=To, 3=Geeks, 4=For, 5=Geeks}
Synchronized map is : {1=Welcome, 2=To, 3=Geeks, 4=For, 5=Geeks}
**
版权属于:月萌API www.moonapi.com,转载请注明出处