Map接口

  • Map与Collection并列存在。用于保存具有映射关系的数据:key-value
  • Map 中的 key 和 value 都可以是任何引用类型的数据
  • Map 中的 key 用Set来存放,不允许重复,即同一个 Map 对象所对应的类,须重写hashCode()和equals()方法
  • 常用String类作为Map的“键”
  • key 和 value 之间存在单向一对一关系,即通过指定的 key 总能找到唯一的、确定的 value
  • Map接口的常用实现类:HashMap、TreeMap、LinkedHashMap和Properties。其中,HashMap是 Map 接口使用频率最高的实现类

 添加、删除、修改操作: 

  • Object put(Object key,Object value):将指定key-value添加到(或修改)当前map对象中
    @Test
    public void test14(){
        Map map = new HashMap();
        map.put(1,"肖路遥");
        map.put(2,"王慧");
        Set set = map.keySet();
        Iterator iterator = set.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }
        Collection values = map.values();
        Iterator iterator1 = values.iterator();
        while (iterator1.hasNext()){
            System.out.println(iterator1.next());
        }
        Set entrySet = map.entrySet();
        for (Object mapping : entrySet){
            Map.Entry entry = (Map.Entry) mapping;
            System.out.println("key是:" + entry.getKey() + ",value是:" + entry.getValue());
        }
    }
  • void putAll(Map m):将m中的所有key-value对存放到当前map中 
    @Test
    public void test15(){
        Map map = new HashMap();
        map.put(1,"肖路遥");
        map.put(2,"王慧");
        Map map1 = new HashMap();
        map1.putAll(map);
        Set entrySet = map1.entrySet();
        for (Object mapping : entrySet){
            Map.Entry entry = (Map.Entry) mapping;
            System.out.println("key是:" + entry.getKey() + ",value是:" + entry.getValue());
        }
    }
  • Object remove(Object key):移除指定key的key-value对,并返回value
   @Test
    public void test16(){
        Map map = new HashMap();
        map.put(1,"肖路遥");
        map.put(2,"王慧");
        map.remove(1);
        Set entrySet = map.entrySet();
        for (Object mapping : entrySet){
            Map.Entry entry = (Map.Entry) mapping;
            System.out.println("key是:" + entry.getKey() + ",value是:" + entry.getValue());
        }
    }
  • void clear():清空当前map中的所有数据
  @Test
    public void test17(){
        Map map = new HashMap();
        map.put(1,"肖路遥");
        map.put(2,"王慧");
        map.clear();
        Set entrySet = map.entrySet();
        for (Object mapping : entrySet){
            Map.Entry entry = (Map.Entry) mapping;
            System.out.println("key是:" + entry.getKey() + ",value是:" + entry.getValue());
        }
    }

 

元素查询的操作:

  • Object get(Object key):获取指定key对应的value
    @Test
    public void test18(){
        Map map = new HashMap();
        map.put(1,"肖路遥");
        map.put(2,"王慧");
        Object o = map.get(1);
        System.out.println(o);
    }
  • boolean containsKey(Object key):是否包含指定的key
  • boolean containsValue(Object value):是否包含指定的value
   @Test
    public void test19(){
        Map map = new HashMap();
        map.put(1,"肖路遥");
        map.put(2,"王慧");
        System.out.println(map.containsKey(1));
        System.out.println(map.containsValue("肖路遥"));
    }
  • int size():返回map中key-value对的个数
    @Test
    public void test20(){
        Map map = new HashMap();
        map.put(1,"肖路遥");
        map.put(2,"王慧");
        System.out.println(map.size());
    }
  • boolean isEmpty():判断当前map是否为空
    @Test
    public void test20(){
        Map map = new HashMap();
        map.put(1,"肖路遥");
        map.put(2,"王慧");
        System.out.println(map.isEmpty());
    }
  • boolean equals(Object obj):判断当前map和参数对象obj是否相等
    @Test
    public void test20(){
        Map map = new HashMap();
        map.put(1,"肖路遥");
        map.put(2,"王慧");
        Map map1 = new HashMap();
        System.out.println(map.equals(map1));
    }

元视图操作的方法:

  • Set keySet():返回所有key构成的Set集合
  • Collection values():返回所有value构成的Collection集合
  • Set entrySet():返回所有key-value对构成的Set集合
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值