• 集合~Map


    Map

    Map集合概述和使用

    Map集合概述

    • Interface Map K:键的类型;V:值的类型
    • 将键映射到值的对象;不能包含重复的键;每个键可以映射到最多一个值
    • 举例:学生的学号和姓名

    创建Map集合的对象

    • 多态的方式
    • 具体的实现类HashMap

    Map集合的基本功能

    在这里插入图片描述

    import java.util.HashMap;
    import java.util.Map;
    
    public class MapDemo {
        public static void main(String[] args) {
            Map<String, String> map = new HashMap<String, String>();
            map.put("郭靖","黄蓉");
            map.put("杨过","小龙女");
            map.put("张无忌","赵敏");
            System.out.println(map);//{杨过=小龙女, 郭靖=黄蓉, 张无忌=赵敏}
            System.out.println(map.remove("郭靖"));//黄蓉
            System.out.println(map.remove("郭襄"));//null
            System.out.println(map);//{杨过=小龙女, 张无忌=赵敏}
            System.out.println(map.containsKey("杨过"));//true
            System.out.println(map.containsKey("郭襄"));//false
            System.out.println(map.containsValue("小龙女"));//true
            System.out.println(map.containsValue("紫薇"));//false
            System.out.println(map.size());//2
            System.out.println(map.isEmpty());//false
            map.clear();
            System.out.println(map.isEmpty());//true
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    Map集合的获取功能

    在这里插入图片描述

    import java.util.Collection;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Set;
    
    public class MapDemo02 {
        public static void main(String[] args) {
            Map<String, String> map = new HashMap<String, String>();
            map.put("郭靖", "黄蓉");
            map.put("杨过", "小龙女");
            map.put("张无忌", "赵敏");
    
            System.out.println(map.get("郭靖"));
            System.out.println(map.get("孙悟空"));
            System.out.println("------");
            Set<String> set = map.keySet();
            for (String s : set) {
                System.out.println(s);
            }
            System.out.println("------");
            Collection<String> values = map.values();
            for (String s : values) {
                System.out.println(s);
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    结果

    黄蓉
    null
    ------
    杨过
    郭靖
    张无忌
    ------
    小龙女
    黄蓉
    赵敏
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    Map集合的遍历

    方式一

    Map集合中的操作:

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

    结果

    杨过,小龙女
    郭靖,黄蓉
    张无忌,赵敏
    
    • 1
    • 2
    • 3
    方式二

    Map集合中的操作:

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

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

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

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

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

      ​ 用**getKey()**得到键

      ​ 用**getValue()**得到值

    import java.util.HashMap;
    import java.util.Map;
    import java.util.Set;
    
    public class MapDemo04 {
        public static void main(String[] args) {
            Map<String, String> map = new HashMap<String, String>();
            map.put("郭靖", "黄蓉");
            map.put("杨过", "小龙女");
            map.put("张无忌", "赵敏");
    
            Set<Map.Entry<String,String>> set = map.entrySet();
            for (Map.Entry<String,String> s: set){
                System.out.println(s.getKey()+","+s.getValue());
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    结果

    杨过,小龙女
    郭靖,黄蓉
    张无忌,赵敏
    
    • 1
    • 2
    • 3

  • 相关阅读:
    统计软件与数据分析Lesson15----梯度下降(Gradient Descent)过程可视化
    Java项目(三)-- SSM开发社交网站(6)--Kaptcha验证码的配置与使用
    Linux中的重定向和管道符
    蔚来-软件开发工程师一面记录
    kibana报错内存溢出问题解决
    深度学习之tf.keras.preprocessing.image_dataset_from_directory()函数
    自定义mvc原理和框架实现
    【Java】若依的使用代码生成及字典的使用
    springboot毕设项目成都医学院学生实习管理系统的设计与实现2761g(java+VUE+Mybatis+Maven+Mysql)
    Javascript基础
  • 原文地址:https://blog.csdn.net/zhuozhuo1998/article/details/128038861