Java中的 ConcurrentHashMap put() 方法
Java中的 ConcurrentHashmap 类的put()方法用于在该映射中插入一个映射。它将参数作为 (Key, Value) 对。如果现有键与值一起传递,则此方法会更新该键的值。否则,如果传递了一个新对,则该对将作为一个整体插入。
句法:
public V put(K key, V value)
参数:此方法接受两个强制参数:
- key : – 与指定值关联的键
- value : – 与指定键关联的值
返回值:此方法返回与 key 关联的先前值,如果没有 key 映射,则返回 null。
异常:如果指定的键或值为空,此方法将抛出NullPointerException
下面是说明 put() 方法的示例:
方案1:当传递的Key、Value是新的。
// Java program to demonstrate
// put() method
import java.util.concurrent.ConcurrentHashMap;
import java.util.*;
public class ConcurrentHashMapExample {
public static void main(String[] args)
{
// Creating ConcurrentHashMap
Map
my_cmmap = new ConcurrentHashMap();
// Adding elements to the map
// using put() method
my_cmmap.put("1", "1");
my_cmmap.put("2", "1");
my_cmmap.put("3", "1");
my_cmmap.put("4", "1");
my_cmmap.put("5", "1");
my_cmmap.put("6", "1");
// Printing the map
System.out.print(my_cmmap);
}
}
输出:
{1=1, 2=1, 3=1, 4=1, 5=1, 6=1}
方案 2:当已有 Key 时,Value 被传递。
// Java program to demonstrate
// put() method
import java.util.concurrent.ConcurrentHashMap;
import java.util.*;
public class ConcurrentHashMapExample {
public static void main(String[] args)
{
// Creating ConcurrentHashMap
Map
my_map = new ConcurrentHashMap();
// Variable to get the returned value by put()
String returnedValue;
// Adding elements to the map
// using put() method
// and printing the returned value each time
returnedValue = my_map.put("Geek", "100");
System.out.println("Map: " + my_map);
System.out.println("Returned Value: " + returnedValue);
System.out.println();
returnedValue = my_map.put("Geek", "200");
System.out.println("Map: " + my_map);
System.out.println("Returned Value: " + returnedValue);
System.out.println();
returnedValue = my_map.put("Geek", "300");
System.out.println("Map: " + my_map);
System.out.println("Returned Value: " + returnedValue);
System.out.println();
returnedValue = my_map.put("Geek", "400");
System.out.println("Map: " + my_map);
System.out.println("Returned Value: " + returnedValue);
System.out.println();
returnedValue = my_map.put("Geek", "500");
System.out.println("Map: " + my_map);
System.out.println("Returned Value: " + returnedValue);
System.out.println();
System.out.print(my_map);
}
}
输出:
Map: {Geek=100}
Returned Value: null
Map: {Geek=200}
Returned Value: 100
Map: {Geek=300}
Returned Value: 200
Map: {Geek=400}
Returned Value: 300
Map: {Geek=500}
Returned Value: 400
{Geek=500}
程序3:演示NullPointerException
// Java program to demonstrate
// put() method
import java.util.concurrent.ConcurrentHashMap;
import java.util.*;
public class ConcurrentHashMapExample {
public static void main(String[] args)
{
// Creating ConcurrentHashMap
Map
my_cmmap = new ConcurrentHashMap();
// Adding elements to the map
// using put() method
my_cmmap.put("1", "1");
my_cmmap.put("2", "1");
my_cmmap.put("3", "1");
my_cmmap.put("4", "1");
my_cmmap.put("5", "1");
my_cmmap.put("6", "1");
// Printing the map
System.out.println(my_cmmap + "\n");
// When null key is passed
try {
System.out.println("When (null, \"10\") "
+ "is passed as parameter:");
my_cmmap.put(null, "10");
}
catch (Exception e) {
System.out.println("Exception: " + e + "\n");
}
// When null value is passed
try {
System.out.println("When (\"10\", null) "
+ "is passed as parameter:");
my_cmmap.put("10", null);
}
catch (Exception e) {
System.out.println("Exception: " + e + "\n");
}
}
}
输出:
{1=1, 2=1, 3=1, 4=1, 5=1, 6=1}
When (null, "10") is passed as parameter:
Exception: java.lang.NullPointerException
When ("10", null) is passed as parameter:
Exception: java.lang.NullPointerException