A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 810296276 初级黑马   /  2019-5-19 10:19  /  774 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小石姐姐 于 2019-5-23 16:24 编辑

  • Map集合概述
    interface Map<K,V>  K:键的类型;V:值的类型
  • Map集合的特点

    • 键值对映射关系
    • 一个键对应一个值
    • 键不能重复,值可以重复
    • 元素存取无序

  • Map集合的基本使用
    [AppleScript] 纯文本查看 复制代码
    public class MapDemo01 {
        public static void main(String[] args) {
            //创建集合对象
            Map<String,String> map = new HashMap<String,String>();
    ​
            //V put(K key, V value) 将指定的值与该映射中的指定键相关联
            map.put("itheima001","林青霞");
            map.put("itheima002","张曼玉");
            map.put("itheima003","王祖贤");
            map.put("itheima003","柳岩");
    ​
            //输出集合对象
            System.out.println(map);
        }
    }

1.2Map集合的基本功能【应用】
  • 方法介绍
    [td]
    方法名说明
    V   put(K key,V   value)添加元素
    V   remove(Object key)根据键删除键值对元素
    void   clear()移除所有的键值对元素
    boolean containsKey(Object key)判断集合是否包含指定的键
    boolean containsValue(Object value)判断集合是否包含指定的值
    boolean isEmpty()判断集合是否为空
    int size()集合的长度,也就是集合中键值对的个数
  • 示例代码
    [AppleScript] 纯文本查看 复制代码
    public class MapDemo02 {
        public static void main(String[] args) {
            //创建集合对象
            Map<String,String> map = new HashMap<String,String>();
    ​
            //V put(K key,V value):添加元素
            map.put("张无忌","赵敏");
            map.put("郭靖","黄蓉");
            map.put("杨过","小龙女");
    ​
            //V remove(Object key):根据键删除键值对元素
    //        System.out.println(map.remove("郭靖"));
    //        System.out.println(map.remove("郭襄"));
    ​
            //void clear():移除所有的键值对元素
    //        map.clear();
    ​
            //boolean containsKey(Object key):判断集合是否包含指定的键
    //        System.out.println(map.containsKey("郭靖"));
    //        System.out.println(map.containsKey("郭襄"));
    ​
            //boolean isEmpty():判断集合是否为空
    //        System.out.println(map.isEmpty());
    ​
            //int size():集合的长度,也就是集合中键值对的个数
            System.out.println(map.size());
    ​
    ​
            //输出集合对象
            System.out.println(map);
        }
    }

1.3Map集合的获取功能【应用】
  • 方法介绍
    [td]
    方法名说明
    V   get(Object key)根据键获取值
    Set<K>   keySet()获取所有键的集合
    Collection<V>   values()获取所有值的集合
    Set<Map.Entry<K,V>>   entrySet()获取所有键值对对象的集合
  • 示例代码
    [AppleScript] 纯文本查看 复制代码
    public class MapDemo03 {
        public static void main(String[] args) {
            //创建集合对象
            Map<String, String> map = new HashMap<String, String>();
    ​
            //添加元素
            map.put("张无忌", "赵敏");
            map.put("郭靖", "黄蓉");
            map.put("杨过", "小龙女");
    ​
            //V get(Object key):根据键获取值
    //        System.out.println(map.get("张无忌"));
    //        System.out.println(map.get("张三丰"));
    ​
            //Set<K> keySet():获取所有键的集合
    //        Set<String> keySet = map.keySet();
    //        for(String key : keySet) {
    //            System.out.println(key);
    //        }
    ​
            //Collection<V> values():获取所有值的集合
            Collection<String> values = map.values();
            for(String value : values) {
                System.out.println(value);
            }
        }
    }

1.4Map集合的遍历(方式1)【应用】
  • 遍历思路

    • 我们刚才存储的元素都是成对出现的,所以我们把Map看成是一个夫妻对的集合

      • 把所有的丈夫给集中起来
      • 遍历丈夫的集合,获取到每一个丈夫
      • 根据丈夫去找对应的妻子


  • 步骤分析

    • 获取所有键的集合。用keySet()方法实现
    • 遍历键的集合,获取到每一个键。用增强for实现  
    • 根据键去找值。用get(Object key)方法实
    • public class MapDemo01 {    public static void main(String[] args) {        //创建集合对象        Map<String, String> map = new HashMap<String, String>();        //添加元素        map.put("张无忌", "赵敏");        map.put("郭靖", "黄蓉");        map.put("杨过", "小龙女");        //获取所有键的集合。用keySet()方法实现        Set<String> keySet = map.keySet();        //遍历键的集合,获取到每一个键。用增强for实现        for (String key : keySet) {            //根据键去找值。用get(Object key)方法实现            String value = map.get(key);            System.out.println(key + "," + value);        }    }}



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马