Map的remove()方法

测试代码如下:

    public static void main(String[] args) {
        Map<String, String> map = new HashMap<>();
        map.put("aa", "ssssss");
        map.put("bb", "cccccc");
        map.put("cc", "ffffff");
        map.put("dd", "gggggg");
        map.put("ee", "kkkkkk");

        String contaions = "aa";
        System.out.println("before: contains " + contaions + " : " + map.containsKey(contaions));
        System.out.println("before: map = " + JSONObject.toJSONString(map, SerializerFeature.WriteMapNullValue));
        System.out.println("----------------------------------------------------------------------------");
        System.out.println("remove: " + contaions);
        map.remove(contaions);
        System.out.println("after remove: contains " + contaions + " : " + map.containsKey(contaions));
        System.out.println("after remove: map = " + JSONObject.toJSONString(map, SerializerFeature.WriteMapNullValue));
        System.out.println("----------------------------------------------------------------------------");
        System.out.println("put null: " + contaions);
        map.put(contaions, null);
        System.out.println("after put null: contains " + contaions + " : " + map.containsKey(contaions));
        System.out.println("after put null: map = " + JSONObject.toJSONString(map, SerializerFeature.WriteMapNullValue));

    }

结果如下:

before: contains aa : true
before: map = {"aa":"ssssss","bb":"cccccc","cc":"ffffff","dd":"gggggg","ee":"kkkkkk"}
----------------------------------------------------------------------------
remove: aa
after remove: contains aa : false
after remove: map = {"bb":"cccccc","cc":"ffffff","dd":"gggggg","ee":"kkkkkk"}
----------------------------------------------------------------------------
put null: aa
after put null: contains aa : true
after put null: map = {"bb":"cccccc","cc":"ffffff","dd":"gggggg","ee":"kkkkkk","aa":null}
Java中,`Map` 接口的 `remove` 方法用于从 `Map` 中移除指定键(key)所对应的键值对。如果该键存在于 `Map` 中,则将其对应的值从 `Map` 中移除,并返回该值;如果键不存在,则返回 `null`。 ### 代码示例: ```java import java.util.HashMap; import java.util.Map; public class MapRemoveExample { public static void main(String[] args) { // 创建一个HashMap实例 Map<String, Integer> map = new HashMap<>(); // 向Map中添加键值对 map.put("Alice", 25); map.put("Bob", 30); map.put("Charlie", 35); // 使用remove方法移除指定键 Integer removedValue = map.remove("Bob"); System.out.println("Removed value: " + removedValue); // 输出:Removed value: 30 // 尝试移除一个不存在的键 Integer nonExistentValue = map.remove("David"); System.out.println("Non-existent key removal result: " + nonExistentValue); // 输出:Non-existent key removal result: null // 打印剩余的Map内容 System.out.println("Remaining map entries: " + map); } } ``` ### 解释: 1. **`remove(Object key)` 方法**:该方法接受一个键作为参数,并从 `Map` 中移除与该键相关联的键值对。如果键存在,则返回对应的值;如果键不存在,则返回 `null`。 2. **返回值的意义**: - 如果返回值不为 `null`,则表示成功移除了键值对。 - 如果返回值为 `null`,则可能是因为键不存在,或者该键对应的值本身为 `null`(如果允许存储 `null` 值的情况下)。 ### 注意事项: - 如果 `Map` 中允许存储 `null` 值,那么当 `remove` 返回 `null` 时,可能是因为键不存在,也可能是因为值本身为 `null`。在这种情况下,可以通过 `containsKey(Object key)` 方法来确认键是否存在。 ### 示例输出: ``` Removed value: 30 Non-existent key removal result: null Remaining map entries: {Alice=25, Charlie=35} ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值