跳到主要内容

Java HashMap remove() 方法

remove() 方法的语法是:

hashmap.remove(Object key, Object value);

这里,hashmapHashMap 类的一个对象。

remove() 方法的参数

remove() 方法接受两个参数。

  • key - 移除由此 key 指定的映射
  • value(可选)- 仅当指定的 key 映射到指定的 value 时移除映射

remove() 方法的返回值

remove() 方法移除映射并返回:

  • 与指定键之前关联的值
  • 如果映射被移除,则返回 true

注意:如果指定的 key 映射到一个 null 值 或键在 hashmap 中不存在,则方法返回 null

示例 1:使用 Key 参数的 HashMap remove()

import java.util.HashMap;

class Main {
public static void main(String[] args){

// 创建一个 HashMap
HashMap<Integer, String> languages = new HashMap<>();

// 向 HashMap 添加映射
languages.put(1, "Python");
languages.put(2, "C");
languages.put(3, "Java");
System.out.println("语言: " + languages);

// 移除键为 2 的映射
languages.remove(2); // 返回 C

System.out.println("更新后的语言: " + languages);
}
}

输出

语言: {1=Python, 2=C, 3=Java}
更新后的语言: {1=Python, 3=Java}

在上述示例中,我们创建了一个名为 languages 的 hashmap。这里,remove() 方法没有可选的 value 参数。因此,键为 2 的映射从 hashmap 中被移除。

示例 2:带有 Key 和 Value 的 HashMap remove()

import java.util.HashMap;

class Main {
public static void main(String[] args) {
// 创建一个 HashMap
HashMap<String, String> countries = new HashMap<>();

// 向 HashMap 插入项目
countries.put("Washington", "America");
countries.put("Ottawa", "Canada");
countries.put("Kathmandu", "Nepal");
System.out.println("国家: " + countries);

// 移除映射 {Ottawa=Canada}
countries.remove("Ottawa", "Canada"); // 返回 true

// 移除映射 {Washington=USA}
countries.remove("Washington", "USA"); // 返回 false

System.out.println("移除后的国家: " + countries);
}
}

输出

国家: {Kathmandu=Nepal, Ottawa=Canada, Washington=America}
移除后的国家: {Kathmandu=Nepal, Washington=America}

在上述示例中,我们创建了一个名为 countries 的 hashmap。注意这行代码,

countries.remove("Ottawa", "Canada");

这里,remove() 方法包括了可选的 value 参数(Canada)。因此,键 Ottawa 映射到值 Canada 的映射从 hashmap 中被移除。

然而,注意这行代码,

countries.remove("Washington", "USA");

这里,hashmap 中不存在任何键 Washington 映射到值 USA 的映射。因此,映射 Washington=America 未从 hashmap 中移除。

注意:我们可以使用 Java HashMap clear() 方法移除 hashmap 中的所有映射。