zoukankan      html  css  js  c++  java
  • Map集合

    Map集合

    Map用于保存具有映射关系的数据,总是以键值对的方式存储数据。

    1、那么Map重复key会有什么样的问题?

    1 Map<String, Object> m=new HashMap<>();
    2     m.put("zh", "中国");
    3     m.put("JP", "日本");
    4     m.put("EN", "英国");
    5     m.put("USA", "美国");
    6         m.put("zh", "中国");
    7 System.out.println(m);

    由此我们可以知道:key相同则覆盖values的值 以最后加入进去的值为真

    2、如果值相同 而key不同 又会成为什么?

    1 Map<String, Object> m=new HashMap<>();
    2     m.put("zh", "中国");
    3     m.put("JP", "日本");
    4     m.put("EN", "英国");
    5     m.put("USA", "美国");
    6         m.put("zz", "中国");
    7 System.out.println(m);

    由此我们也可以得到:值相同而键不同,则创建两个,键值对只和键挂钩,和值无关

    输出Map的key值:

    Map<Integer, Object> m=new HashMap<>();
            //避免出现重复的键
        for(int i=0;i<10;i++) {
            if(!m.containsKey(i)) {
                m.put(i, "z"+i);
            }
        }
    for(Integer i:m.keySet()) {
            System.out.println(i);
        }

    输出Map的value的值:

    Map<Integer, Object> m=new HashMap<>();
            //避免出现重复的键
        for(int i=0;i<10;i++) {
            if(!m.containsKey(i)) {
                m.put(i, "z"+i);
            }
        }
    for(Object o:m.values()) {
            System.out.println(o);
        }

    如果想同时输出key值和values值可以用Entry:

    1 //同时输出key和values
    2     //Entry
    3     for(Entry<Integer, Object> emp:m.entrySet()) {
    4         System.out.println("key"+emp.getKey()+"----value"+emp.getValue());
    5     }
  • 相关阅读:
    周志华 机器学习
    王亮 中国科学院自动化研究所
    殷明 合肥工业大学
    批处理命令行 for循环
    CalFrechetDist
    等高线简化线方法对比(多尺度评价方法)
    周成虎
    MFC 使用控制台打印程序信息
    C++ 获得本地磁盘盘符的容量信息
    VS2012+CUDA6.0配置方法
  • 原文地址:https://www.cnblogs.com/hyfl/p/10904720.html
Copyright © 2011-2022 走看看