📜  Java HashMap remove()

📅  最后修改于: 2020-09-27 00:47:17             🧑  作者: Mango

Java HashMap remove()方法从与指定键关联的哈希图中删除映射。

remove()方法的语法为:

hashmap.remove(Object key, Object value);

在这里, hashmapHashMap类的对象。


remove()参数

remove()方法采用两个参数。

  • -删除此指定的映射
  • (可选)-仅在指定映射到指定时才删除映射

remove()返回值

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

  • 与指定键关联的先前值
  • 如果已删除映射,则为true

注意 :如果将指定的映射为null值或该键在哈希图中不存在,则该方法返回null


示例1:具有关键参数的HashMap remove()
import java.util.HashMap;

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

    // create a HashMap
    HashMap 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}

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


示例2:具有键和值的HashMap remove()
import java.util.HashMap;

class Main {
  public static void main(String[] args) {
    // create an HashMap
    HashMap 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}

在上面的例子中,我们创建了一个名为HashMap的国家 。注意这一行,

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

在这里, remove()方法包括可选的value参数(加拿大)。因此,键Ottawa映射到值Canada的映射已从哈希图中删除。

但是请注意,

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

此处,哈希表不包含任何映射有值USA的Washington 。因此,没有从哈希图中删除映射Washington=America

注意 :我们可以使用Java HashMap clear()方法从哈希图中删除所有映射。