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<String, String>
my_cmmap = new ConcurrentHashMap<String, String>();
// 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:当一个现有的键,值被传递。
// 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<String, String>
my_map = new ConcurrentHashMap<String, String>();
// 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<String, String>
my_cmmap = new ConcurrentHashMap<String, String>();
// 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
极客教程