zoukankan      html  css  js  c++  java
  • Java自学-集合框架 HashMap

    Java集合框架 HashMap

    示例 1 : HashMap的键值对

    HashMap储存数据的方式是—— 键值对

    package collection;
       
    import java.util.HashMap;
       
    public class TestCollection {
        public static void main(String[] args) {
            HashMap<String,String> dictionary = new HashMap<>();
            dictionary.put("adc", "物理英雄");
            dictionary.put("apc", "魔法英雄");
            dictionary.put("t", "坦克");
             
            System.out.println(dictionary.get("t"));
        }
    }
    

    示例 2 : 键不能重复,值可以重复

    对于HashMap而言,key是唯一的,不可以重复的。
    所以,以相同的key 把不同的value插入到 Map中会导致旧元素被覆盖,只留下最后插入的元素。
    不过,同一个对象可以作为值插入到map中,只要对应的key不一样

    package collection;
      
    import java.util.HashMap;
      
    import charactor.Hero;
      
    public class TestCollection {
        public static void main(String[] args) {
            HashMap<String,Hero> heroMap = new HashMap<String,Hero>();
             
            heroMap.put("gareen", new Hero("gareen1"));
            System.out.println(heroMap);
             
            //key为gareen已经有value了,再以gareen作为key放入数据,会导致原英雄,被覆盖
            //不会增加新的元素到Map中
            heroMap.put("gareen", new Hero("gareen2"));
            System.out.println(heroMap);
             
            //清空map
            heroMap.clear();
            Hero gareen = new Hero("gareen");
             
            //同一个对象可以作为值插入到map中,只要对应的key不一样
            heroMap.put("hero1", gareen);
            heroMap.put("hero2", gareen);
             
            System.out.println(heroMap);
             
        }
    }
  • 相关阅读:
    Trie图
    Bestcoder Round#45
    Codeforces Round#308
    bestcoder44#1002
    LCA最近公共祖先 Tarjan离线算法
    HYSBZ 1269文本编辑器 splay
    NOI2005维修数列 splay
    hdu3487 伸展树(区间搬移 区间旋转)
    poj3580 伸展树(区间翻转 区间搬移 删除结点 加入结点 成段更新)
    hdu1890 伸展树(区间反转)
  • 原文地址:https://www.cnblogs.com/jeddzd/p/11973273.html
Copyright © 2011-2022 走看看