1. 程式人生 > 程式設計 >Java HashMap原理及例項解析

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);
     
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。