Java HashMap remove()

remove() 方法的语法是

hashmap.remove(Object key, Object value);

这里,hashmapHashMap 类的一个 对象


remove() 参数

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

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

remove() 的返回值

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

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

注意:如果指定的 key 映射到一个 null 值,或者键不在哈希表中,则该方法返回 null


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

import java.util.HashMap;

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

    // create a HashMap
    HashMap<Integer, String> languages = new HashMap<>();

    // add mappings to HashMap
    languages.put(1, "Python");
    languages.put(2, "C");
    languages.put(3, "Java");
    System.out.println("Languages: " + languages);

    // remove the mapping with key 2
    languages.remove(2);  // return C

    System.out.println("Updated Languages: " + languages);
  }
}

输出

Languages: {1=Python, 2=C, 3=Java}
Updated Languages: {1=Python, 3=Java}

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


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

import java.util.HashMap;

class Main {
  public static void main(String[] args) {
    // create an HashMap
    HashMap<String, String> countries = new HashMap<>();

    // insert items to the HashMap
    countries.put("Washington", "America");
    countries.put("Ottawa", "Canada");
    countries.put("Kathmandu", "Nepal");
    System.out.println("Countries: " + countries);

    // remove mapping {Ottawa=Canada}
    countries.remove("Ottawa", "Canada");  // return true

    // remove mapping {Washington=USA}
    countries.remove("Washington", "USA");  // return false

    System.out.println("Countries after remove(): " + countries);
  }
}

输出

Countries: {Kathmandu=Nepal, Ottawa=Canada, Washington=America}
Countries after remove(): {Kathmandu=Nepal, Washington=America}

在上面的示例中,我们创建了一个名为 countries 的哈希表。请注意这行:

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

在这里,remove() 方法包含了可选的 value 参数(Canada)。因此,键为 Ottawa 映射到值为 Canada 的映射已从哈希表中移除。

但是,请注意这行:

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

在这里,哈希表中不存在任何键为 Washington 且映射到值为 USA 的项。因此,映射 Washington=America 未从哈希表中移除。

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


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战