Java ConcurrentHashMap remove()方法
A. remove(Object key)
Java中ConcurrentHashmap类的 remove(Object key) 方法用于从地图中删除映射。如果键在地图中不存在,那么这个函数不做任何事情。
语法
public V remove(Object key)
参数
该方法接受一个强制性参数key,这是需要被删除的密钥。
返回值
该方法返回与key相关的前一个值。
的前一个值,如果没有键的映射,则返回null。
异常情况
如果指定的键为空,该方法会抛出NullPointerException。
以下是说明remove()方法的程序。
程序1 :
// Java program to demonstrate remove() method
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
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("Map: " + my_cmmap);
System.out.println();
// Removing the mapping
// with existing key 6
// using remove() method
String valueRemoved = my_cmmap.remove("6");
// Printing the map after remove()
System.out.println(
"After removing mapping with key 6:");
System.out.println("Map: " + my_cmmap);
System.out.println("Value removed: "
+ valueRemoved);
System.out.println();
// Removing the mapping
// with non-existing key 10
// using remove() method
valueRemoved = my_cmmap.remove("10");
// Printing the map after remove()
System.out.println(
"After removing mapping with key 10:");
System.out.println("Map: " + my_cmmap);
System.out.println("Value removed: "
+ valueRemoved);
}
}
输出
Map: {1=1, 2=1, 3=1, 4=1, 5=1, 6=1}
After removing mapping with key 6:
Map: {1=1, 2=1, 3=1, 4=1, 5=1}
Value removed: 1
After removing mapping with key 10:
Map: {1=1, 2=1, 3=1, 4=1, 5=1}
Value removed: null
程序2: 演示空键的NullPointerException
// Java program to demonstrate remove() method
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
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("Map: " + my_cmmap);
System.out.println();
try {
// Removing the mapping with null key
// using remove() method
my_cmmap.remove(null);
}
catch (Exception e) {
System.out.println("Exception: " + e);
}
}
}
输出
Map: {1=1, 2=1, 3=1, 4=1, 5=1, 6=1}
Exception: java.lang.NullPointerException
B. remove(Object key, Object value)
Java中ConcurrentHashmap类的 remove(Object key, Object value) 方法是用来从地图中删除映射的。在地图中搜索具有指定的(key, value)对的映射,如果找到了就删除,并返回true。如果键在地图中不存在,那么这个函数不做任何事情,并返回false。
语法
public boolean remove(Object key, Object value)
参数
这个方法接受两个参数
key – 与指定值相关联的键。
value – 预期与指定键相关的值。
返回值
如果该值被删除,该方法返回true。否则,它返回false。
异常情况
如果指定的键为空,该方法会抛出NullPointerException。
以下是说明remove()方法的程序。
程序1 :
// Java program to demonstrate remove() method
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
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("Map: " + my_cmmap);
System.out.println();
// Removing the mapping
// with existing pair 6, 1
// using remove() method
boolean valueRemoved = my_cmmap.remove("6", "1");
// Printing the map after remove()
System.out.println(
"After removing mapping with pair (6, 1):");
System.out.println("Map: " + my_cmmap);
System.out.println("Was value removed: "
+ valueRemoved);
System.out.println();
// Removing the mapping
// with non-existing pair 1, 2
// using remove() method
valueRemoved = my_cmmap.remove("1", "2");
// Printing the map after remove()
System.out.println(
"After removing mapping with pair (1, 2):");
System.out.println("Map: " + my_cmmap);
System.out.println("Was value removed: "
+ valueRemoved);
}
}
输出
Map: {1=1, 2=1, 3=1, 4=1, 5=1, 6=1}
After removing mapping with pair (6, 1):
Map: {1=1, 2=1, 3=1, 4=1, 5=1}
Was value removed: true
After removing mapping with pair (1, 2):
Map: {1=1, 2=1, 3=1, 4=1, 5=1}
Was value removed: false
程序2: 演示空键的NullPointerException
// Java program to demonstrate
// remove(key, value) null key
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
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("Map: " + my_cmmap);
System.out.println();
try {
// Removing the mapping
// with null key
// using remove() method
my_cmmap.remove(null, "1");
}
catch (Exception e) {
System.out.println("Exception: " + e);
}
}
}
输出
Map: {1=1, 2=1, 3=1, 4=1, 5=1, 6=1}
Exception: java.lang.NullPointerException
程序3 :演示NullPointerException的空值。
// Java program to demonstrate
// remove(key, value) null value
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
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("Map: " + my_cmmap);
try {
// Removing the mapping with correct key and
// null value using remove() method
my_cmmap.remove("1", null);
my_cmmap.remove("7", null);
}
catch (Exception e) {
System.out.println("Exception: " + e);
}
}
}
输出
Map: {1=1, 2=1, 3=1, 4=1, 5=1, 6=1}
极客教程