📜  Java中的 ConcurrentHashMap put() 方法

📅  最后修改于: 2022-05-13 01:55:37.298000             🧑  作者: Mango

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