remove()
方法的语法是
hashmap.remove(Object key, Object value);
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() 方法来移除哈希表中的所有映射。
另请阅读