Java Collections synchronizedMap() 方法



描述

Java Collections synchronizedMap() 方法用於返回一個由指定對映支援的同步(執行緒安全)對映。

宣告

以下是 java.util.Collections.synchronizedMap() 方法的宣告。

public static <K,V> Map<K,V> synchronizedMap(Map<K,V> m)

引數

m − 這是要“包裝”到同步對映中的對映。

返回值

  • 方法呼叫返回指定對映的同步檢視。

異常

從字串、整數對的非同步對映獲取同步對映示例

以下示例演示了 Java Collection synchronizedMap(Map) 方法的用法。我們建立了一個字串和整數對的 Map 物件。添加了一些條目,然後使用 synchronizedMap(Map) 方法,我們檢索了對映的同步版本並列印了對映。

package com.tutorialspoint;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

public class CollectionsDemo {
   public static void main(String[] args) {
      
      // create map
      Map<String,Integer> map = new HashMap<String,Integer>();

      // populate the map
      map.put("1",1); 
      map.put("2",2);
      map.put("3",3);

      // create a synchronized map
      Map<String,Integer> synmap = Collections.synchronizedMap(map);

      System.out.println("Synchronized map is :"+synmap);
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果。

Synchronized map is :{1=1, 2=2, 3=3}

從字串、字串對的非同步對映獲取同步對映示例

以下示例演示了 Java Collection synchronizedMap(Map) 方法的用法。我們建立了一個字串和字串對的 Map 物件。添加了一些條目,然後使用 synchronizedMap(Map) 方法,我們檢索了對映的同步版本並列印了對映。

package com.tutorialspoint;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

public class CollectionsDemo {
   public static void main(String[] args) {
      
      // create map
      Map<String,String> map = new HashMap<String,String>();

      // populate the map
      map.put("1","TP"); 
      map.put("2","IS");
      map.put("3","BEST");

      // create a synchronized map
      Map<String,String> synmap = Collections.synchronizedMap(map);

      System.out.println("Synchronized map is :"+synmap);
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果。

Synchronized map is :{1=TP, 2=IS, 3=BEST}

從字串、物件對的非同步對映獲取同步對映示例

以下示例演示了 Java Collection synchronizedMap(Map) 方法的用法。我們建立了一個字串和 Student 對的 Map 物件。添加了一些條目,然後使用 synchronizedMap(Map) 方法,我們檢索了對映的同步版本並列印了對映。

package com.tutorialspoint;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

public class CollectionsDemo {
   public static void main(String[] args) {
      
      // create map
      Map<String,Student> map = new HashMap<String,Student>();

      // populate the map
      map.put("1",new Student(1, "Julie")); 
      map.put("2",new Student(2, "Robert"));
      map.put("3",new Student(3, "Adam"));

      // create a synchronized map
      Map<String,Student> synmap = Collections.synchronizedMap(map);

      System.out.println("Synchronized map is :"+synmap);
   }
}
class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果。

Synchronized map is :{1=[ 1, Julie ], 2=[ 2, Robert ], 3=[ 3, Adam ]}
java_util_collections.htm
廣告