• Java之Map集合的详细解析


    1.Map集合

    1.1Map集合概述和特点【理解】

    • Map集合概述

      interface Map  K:键的类型;V:值的类型
    • Map集合的特点

      • 双列集合,一个键对应一个值

      • 键不可以重复,值可以重复

    • Map集合的基本使用

      1. public class MapDemo01 {
      2.    public static void main(String[] args) {
      3.        //创建集合对象
      4.        Map map = new HashMap();
      5.        //V put(K key, V value) 将指定的值与该映射中的指定键相关联
      6.        map.put("itheima001","林青霞");
      7.        map.put("itheima002","张曼玉");
      8.        map.put("itheima003","王祖贤");
      9.        map.put("itheima003","柳岩");
      10.        //输出集合对象
      11.        System.out.println(map);
      12.   }
      13. }

    1.2Map集合的基本功能【应用】

    • 方法介绍

      方法名说明
      V put(K key,V value)添加元素
      V remove(Object key)根据键删除键值对元素
      void clear()移除所有的键值对元素
      boolean containsKey(Object key)判断集合是否包含指定的键
      boolean containsValue(Object value)判断集合是否包含指定的值
      boolean isEmpty()判断集合是否为空
      int size()集合的长度,也就是集合中键值对的个数
    • 示例代码

      1. public class MapDemo02 {
      2.    public static void main(String[] args) {
      3.        //创建集合对象
      4.        Map map = new HashMap();
      5.        //V put(K key,V value):添加元素
      6.        map.put("张无忌","赵敏");
      7.        map.put("郭靖","黄蓉");
      8.        map.put("杨过","小龙女");
      9.        //V remove(Object key):根据键删除键值对元素
      10. //       System.out.println(map.remove("郭靖"));
      11. //       System.out.println(map.remove("郭襄"));
      12.        //void clear():移除所有的键值对元素
      13. //       map.clear();
      14.        //boolean containsKey(Object key):判断集合是否包含指定的键
      15. //       System.out.println(map.containsKey("郭靖"));
      16. //       System.out.println(map.containsKey("郭襄"));
      17.        //boolean isEmpty():判断集合是否为空
      18. //       System.out.println(map.isEmpty());
      19.        //int size():集合的长度,也就是集合中键值对的个数
      20.        System.out.println(map.size());
      21.        //输出集合对象
      22.        System.out.println(map);
      23.   }
      24. }

    1.3Map集合的获取功能【应用】

    • 方法介绍

      方法名说明
      V get(Object key)根据键获取值
      Set keySet()获取所有键的集合
      Collection values()获取所有值的集合
      Set> entrySet()获取所有键值对对象的集合
    • 示例代码

      1. public class MapDemo03 {
      2.    public static void main(String[] args) {
      3.        //创建集合对象
      4.        Map map = new HashMap();
      5.        //添加元素
      6.        map.put("张无忌", "赵敏");
      7.        map.put("郭靖", "黄蓉");
      8.        map.put("杨过", "小龙女");
      9.        //V get(Object key):根据键获取值
      10. //       System.out.println(map.get("张无忌"));
      11. //       System.out.println(map.get("张三丰"));
      12.        //Set keySet():获取所有键的集合
      13. //       Set keySet = map.keySet();
      14. //       for(String key : keySet) {
      15. //           System.out.println(key);
      16. //       }
      17.        //Collection values():获取所有值的集合
      18.        Collection values = map.values();
      19.        for(String value : values) {
      20.            System.out.println(value);
      21.       }
      22.   }
      23. }

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

    • 遍历思路

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

        • 把所有的丈夫给集中起来

        • 遍历丈夫的集合,获取到每一个丈夫

        • 根据丈夫去找对应的妻子

    • 步骤分析

      • 获取所有键的集合。用keySet()方法实现

      • 遍历键的集合,获取到每一个键。用增强for实现

      • 根据键去找值。用get(Object key)方法实现

    • 代码实现

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

    1.5Map集合的遍历(方式2)【应用】

    • 遍历思路

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

        • 获取所有结婚证的集合

        • 遍历结婚证的集合,得到每一个结婚证

        • 根据结婚证获取丈夫和妻子

    • 步骤分析

      • 获取所有键值对对象的集合

        • Set> entrySet():获取所有键值对对象的集合

      • 遍历键值对对象的集合,得到每一个键值对对象

        • 用增强for实现,得到每一个Map.Entry

      • 根据键值对对象获取键和值

        • 用getKey()得到键

        • 用getValue()得到值

    • 代码实现

      1. public class MapDemo02 {
      2.    public static void main(String[] args) {
      3.        //创建集合对象
      4.        Map map = new HashMap();
      5.        //添加元素
      6.        map.put("张无忌", "赵敏");
      7.        map.put("郭靖", "黄蓉");
      8.        map.put("杨过", "小龙女");
      9.        //获取所有键值对对象的集合
      10.        Set> entrySet = map.entrySet();
      11.        //遍历键值对对象的集合,得到每一个键值对对象
      12.        for (Map.Entry me : entrySet) {
      13.            //根据键值对对象获取键和值
      14.            String key = me.getKey();
      15.            String value = me.getValue();
      16.            System.out.println(key + "," + value);
      17.       }
      18.   }
      19. }

  • 相关阅读:
    基于 nacos/灰度发布 实现减少本地启动微服务数量的实践
    redis(一)
    AJAX (Asynchronous JavaScript And XML)异步的JavaScript 和 XML
    有趣的网站
    安全和监控中心管理制度
    java面试题-微服务面试题
    ArcdEngine代码 线和面几何体IGeometry在axMapControl控件上快速绘制,并可自定义颜色
    K8s使用RDMA进行高速通信
    SpringBoot通过配置读取json文件
    【MySQL】使用MySQL Workbench软件新建表
  • 原文地址:https://blog.csdn.net/qq_69748833/article/details/132841620