zoukankan      html  css  js  c++  java
  • 章节七、5-Maps

    一、向map集合中添加元素 map.put

    package ZangJie7;
    
    import java.util.HashMap;
    import java.util.Map;
    
    public class MapsDemo {
        /*
         * Maps为双列集合,存储元素都是成对存储,形式为“键值对”。
         * Map.Entery存储键值对的映射关系:
         *     例如:map中存储的键值对为“丈夫:妻子”,丈夫“张三”作为键对应妻子为“小红”,而Entery存储
         *         着这种对应关系,Entery就像结婚证一样,上面有他们的信息。
         * map也是接口,与set、list一样Java中已经写好了它的实现类。
         * */
        public static void main(String[] args) {
    //        使用“多态”的形式来创建它的子类对象,括号中表示键和值的类型<键:值>
            Map<Integer,String> map = new HashMap<Integer,String>();
            map.put(1, "BMw");
            map.put(6, "AoDi");
            map.put(4, "HonDo");
            System.out.println(map);
        }
    
    }

    允许结果为:

    二、如何取出map元素中的值

    package ZangJie7;
    
    import java.util.HashMap;
    import java.util.Map;
    
    public class MapsDemo {
        /*
         * Maps为双列集合,存储元素都是成对存储,形式为“键值对”。
         * Map.Entery存储键值对的映射关系:
         *     例如:map中存储的键值对为“丈夫:妻子”,丈夫“张三”作为键对应妻子为“小红”,而Entery存储
         *         着这种对应关系,Entery就像结婚证一样,上面有他们的信息。
         * 键是唯一的不可重复,值是可以重复的
         * map也是接口,与set、list一样Java中已经写好了它的实现类。
         * */
        public static void main(String[] args) {
    //        使用“多态”的形式来创建它的子类对象,括号中表示键和值的类型<键:值>
            Map<Integer,String> map = new HashMap<Integer,String>();
            map.put(1, "BMw");
            map.put(6, "AoDi");
            map.put(4, "HonDo");
            
    //        新建一个变量来接受map中的值,括号中表示的是key
            String value1 = map.get(1);
            String value2 = map.get(2);
    //        打印values1中的接收到的值
            System.out.println("键存在的情况打印的结果为:"+value1);
    //        如果键不存在的情况下,打印的结果为null
    //        因为机会中存储的是对象,引用数据类型默认值为空
            System.out.println("键不存在的情况打印的结果为:"+value2);
        }
    
    }

    允许结果为:

    三、键是唯一的不可重复,值是可以重复的

    1、值相同,键不同

    package ZangJie7;
    
    import java.util.HashMap;
    import java.util.Map;
    
    public class MapsDemo {
        /*
         * Maps为双列集合,存储元素都是成对存储,形式为“键值对”。
         * Map.Entery存储键值对的映射关系:
         *     例如:map中存储的键值对为“丈夫:妻子”,丈夫“张三”作为键对应妻子为“小红”,而Entery存储
         *         着这种对应关系,Entery就像结婚证一样,上面有他们的信息。
         * 键是唯一的不可重复,值是可以重复的
         * map也是接口,与set、list一样Java中已经写好了它的实现类。
         * */
        public static void main(String[] args) {
    //        使用“多态”的形式来创建它的子类对象,括号中表示键和值的类型<键:值>
            Map<Integer,String> map = new HashMap<Integer,String>();
            map.put(1, "BMw");
            map.put(6, "AoDi");
            map.put(4, "HonDo");
            
    //        新建一个变量来接受map中的值,括号中表示的是key
            String value1 = map.get(1);
            String value2 = map.get(2);
    //        打印values1中的接收到的值
            System.out.println("键存在的情况打印的结果为:"+value1);
    //        如果键不存在的情况下,打印的结果为null
    //        因为机会中存储的是对象,引用数据类型默认值为空
            System.out.println("键不存在的情况打印的结果为:"+value2);
            
    //        键是唯一的不可重复,值是可以重复的
            map.put(2, "BMw");
            String value3 = map.get(2);
            System.out.println("值相同,键不同打印的结果为:"+value3);
        }
    
    }

    允许结果为:

    2、键相同,值不同

    package ZangJie7;
    
    import java.util.HashMap;
    import java.util.Map;
    
    public class MapsDemo {
        /*
         * Maps为双列集合,存储元素都是成对存储,形式为“键值对”。
         * Map.Entery存储键值对的映射关系:
         *     例如:map中存储的键值对为“丈夫:妻子”,丈夫“张三”作为键对应妻子为“小红”,而Entery存储
         *         着这种对应关系,Entery就像结婚证一样,上面有他们的信息。
         * 键是唯一的不可重复,值是可以重复的
         * map也是接口,与set、list一样Java中已经写好了它的实现类。
         * */
        public static void main(String[] args) {
    //        使用“多态”的形式来创建它的子类对象,括号中表示键和值的类型<键:值>
            Map<Integer,String> map = new HashMap<Integer,String>();
            map.put(1, "BMw");
            map.put(1, "QQ");
            map.put(6, "AoDi");
            map.put(4, "HonDo");
            
    //        新建一个变量来接受map中的值,括号中表示的是key
            String value1 = map.get(1);
            System.out.println("值相同,键不同打印的结果为:"+value1);
    
        }
    
    }

    运行结果为(值“QQ”覆盖了"BWm",键相同,值覆盖):

    三、Map介绍(不要奇怪为什么在这里放入map介绍,完全是为了凑字数):

    Java 自带了各种 Map 类。这些 Map 类可归为三种类型:

    1. 通用Map,用于在应用程序中管理映射,通常在 java.util 程序包中实现

    HashMap、Hashtable、Properties、LinkedHashMap、IdentityHashMap、TreeMap、WeakHashMap、ConcurrentHashMap

    2. 专用Map,通常我们不必亲自创建此类Map,而是通过某些其他类对其进行访问

    java.util.jar.Attributes、javax.print.attribute.standard.PrinterStateReasons、java.security.Provider、java.awt.RenderingHints、javax.swing.UIDefaults

    3. 一个用于帮助我们实现自己的Map类的抽象类

    AbstractMap

  • 相关阅读:
    Linux日志文件utmp、wtmp、lastlog、messages
    Linux日志五大命令详解
    php 函数合并 array_merge 与 + 的区别
    MySQL对数据表进行分组查询(GROUP BY)
    如何在mysql中查询每个分组的前几名
    Autojump:一个可以在 Linux 文件系统快速导航的高级 cd 命令
    linux 查看磁盘空间大小
    js刷新页面方法大全
    [知乎有感] 读研到底为了什么,值不值得?
    [Hadoop] 在Ubuntu系统上一步步搭建Hadoop(单机模式)
  • 原文地址:https://www.cnblogs.com/luohuasheng/p/10643756.html
Copyright © 2011-2022 走看看