【Java学习】map的概念,hashmap的put、remove、get、containKey方法

从概念上来说,map是一个集合,集合中的每个元素是一个键-值对,所谓键值对,英文是Key-Value,比如学生的身高当做key,身高的具体值就当做value。
map集合中,键和值是一一对应的,一个键只能对于一个值,但是不同的键可以有相同的值,这也好理解:我只有一个身高,但是和我一样身高的可以有很多人。
从语法上来说,map是一个接口,这个接口定义了满足它的概念的一组规则,hashmap则是该接口的一个实现类。

下面是hashmap的几个方法:
1.put(Key,Value);
将key value这个键值对加入集合。
返回值:
如果加入前集合中已经存在以key为键的键值对,则更新这个键值对的值为新加入的value,返回value。
否则,返回null
2.remove(key);
将以key为键的键值对移除。
返回值:
如果存在,返回被删除的value
否则,返回null
3.get(key);
获取key对应的value。
返回值:
如果存在以key为键的键值对,返回value
否则,返回null
4.boolean containsKey(key);
集合中是否包含key,存在返回true,否则返回false

下面是以上四个方法的测试代码,我分别定义四个静态方法分别测试put、 remove、get、containsKey,供和我一样的初学者参考。

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Main {

    public static void main(String[] args) {
        show01();
        show02();
        show03();
        show04();
    }

    private static void show01(){
        Map<String,String> map =new HashMap<>();
        String v1 = map.put("李晨", "范冰冰1");//如果李晨不存在相应的Value,返回1
        System.out.println(v1);
        String v2 = map.put("李晨", "范冰冰2");//如果存在相应的Value,返回被替换的值
        System.out.println(v2);
        map.put("冷锋", "龙小云");
        map.put("杨过", "小龙女");
        map.put("尹志平", "小龙女");
        System.out.println(map);//重写了toString方法
    }

    private  static void show02(){
        Map<String,Integer> map=new HashMap<>();
        map.put("赵丽颖",168);
        map.put("杨颖",165);
        map.put("林志颖",178);
        System.out.println(map);
        Integer v1 = map.remove("林志颖");//存在,返回被删除的值,不存在返回null
        System.out.println(v1);
        System.out.println(map);
        Integer v2 = map.remove("林志玲");//存在,返回被删除的值,不存在返回null
        System.out.println(v2);
        System.out.println(map);
    }

    private static void show03(){
        Map<String,Integer> map=new HashMap<>();
        map.put("赵丽颖",168);
        map.put("杨颖",165);
        map.put("林志颖",178);
        System.out.println(map);

        Integer height = map.get("赵丽颖");
        System.out.println(height);
        System.out.println(map);

        Integer height2=map.get("赵丽颖");
        System.out.println(height2);
        System.out.println(map);

        Integer height3 = map.get("隔壁老王");
        System.out.println(height3);
        System.out.println(map);
    }

    private static void show04(){
        Map<String,Integer> map=new HashMap<>();
        map.put("赵丽颖",168);
        map.put("杨颖",165);
        map.put("林志颖",178);
        System.out.println(map);
        boolean b = map.containsKey("赵丽颖");
        System.out.println(b);
        boolean bb = map.containsKey("迪丽热巴");
        System.out.println(bb);
    }
}
发布了61 篇原创文章 · 获赞 1 · 访问量 1365

猜你喜欢

转载自blog.csdn.net/qq_42622433/article/details/104523804
今日推荐