欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java HashMap詳解及實例代碼

 更新時間:2017年01月25日 10:03:06   投稿:lqh  
這篇文章主要介紹了java HashMap詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下

java HashMap

/*
* Map集合的特點
* 將鍵映射值的對象,一個映射不能包含重復(fù)的值;每個鍵最多只能映射到一個值
* 
* Map集合和Collection集合的區(qū)別?
* Map集合存儲元素是成對出現(xiàn)的,Map集合的鍵是唯一的,就是可重復(fù)的??梢园堰@個理解為:夫妻對
* Collection集合存儲元素是單獨出現(xiàn)的,Collection的兒子Set是唯一的,List是可重復(fù)的,可以把這個理解為:光棍
* 
* 注意:
* Map集合的數(shù)據(jù)結(jié)構(gòu)值針對鍵有效,限值無效
* Collection集合的數(shù)據(jù)結(jié)構(gòu)是針對元素有效
* 
* Map集合的功能概述:
* 1:添加功能
* V put(K key,V value);//添加元素
* 如果鍵是第一次存儲,就直接存儲元素,返回null
* 如果鍵不是第一次存儲,就用值把以前的值替換掉,返回以前的值
* 
* 2:刪除功能
* void clear();//移除所有的鍵值對元素
* V remove(Object key);//根據(jù)鍵刪除鍵值對元素,并把值返回
* 
* 3:判斷功能
* boolean containsKey(Object key);//判斷集合是否包含指定的鍵
* boolean containsValue(Object value);//判斷集合是否包含指定的值
* boolean isEmpty();//判斷集合是否為空
* 
* 4:獲取功能
* set<Map,Entry<E,V>> entrySet();獲取鍵值對的對象集合
* V get(Object key);//根據(jù)鍵獲取值
* Set<K> keySet();//獲取集合中所有鍵的集合
* Collection<V> values();//獲取集合中所有值的集合
* 
* 5:長度功能
* int size();//返回集合中的鍵值對的對數(shù)
* */

 Map集合的遍歷

方式1,根據(jù)鍵查詢值

獲取所有鍵的集合

遍歷鍵的集合,獲取每一個鍵

根據(jù)鍵,查詢值

方式2,根據(jù)鍵值對的對象查詢鍵和值

獲取所有鍵值對的對象的集合

遍歷鍵值對的對象的集合,獲取到每一個鍵值對的對象

根據(jù)鍵值對的對象,查詢鍵和值

方式1,根據(jù)鍵查詢值

/*

* Map集合的遍歷,根據(jù)鍵查詢值
* 
* 思路:
* A:獲取所有的鍵
* B:遍歷鍵的集合,獲取得到每一個鍵
* C:根據(jù)鍵查詢值
* */

 

import java.util.HashMap;
import java.util.Map;
import java.util.Set;
 
/*
 * Map集合的遍歷,根據(jù)鍵查詢值
 *
 * 思路:
 * A:獲取所有的鍵
 * B:遍歷鍵的集合,獲取得到每一個鍵
 * C:根據(jù)鍵查詢值
 * */
 
public class IntegerDemo {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
 
    Map<String, String> map = new HashMap<String, String>();
 
    map.put("hello", "world");
    map.put("java", "c++");
    map.put("sql", "os");
 
    System.out.println(map);
 
    // A:獲取所有的鍵
    Set<String> set = map.keySet();
 
    // B:遍歷鍵的集合,獲取得到每一個鍵
    for (String key : set) {
      // C:根據(jù)鍵查詢值
      String value = map.get(key);
      System.out.println(key + "---" + value);
    }
  }
}

方式2,根據(jù)鍵值對的對象查詢鍵和值

/*
* Map集合的遍歷,根據(jù)對象查詢鍵和值
* 
* 思路:
* A:獲取所有的鍵值對對象的集合
* B:遍歷鍵值對對象的集合,得到每一個鍵值對的對象
* C:獲取鍵和值
* */

import java.util.HashMap;
import java.util.Map;
import java.util.Set;
 
/*
 * Map集合的遍歷,根據(jù)對象查詢鍵和值
 *
 * 思路:
 * A:獲取所有的鍵值對對象的集合
 * B:遍歷鍵值對對象的集合,得到每一個鍵值對的對象
 * C:獲取鍵和值
 * */
 
public class IntegerDemo {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
 
    Map<String, String> map = new HashMap<String, String>();
 
    map.put("hello", "world");
    map.put("java", "c++");
    map.put("sql", "os");
 
    System.out.println(map);
 
    // A:獲取所有的鍵值對對象的集合
    Set<Map.Entry<String, String>> set = map.entrySet();
 
    // B:遍歷鍵值對對象的集合,得到每一個鍵值對的對象
    for (Map.Entry<String, String> me : set) {
      // C:獲取鍵和值
      String key = me.getKey();
      String value = me.getValue();
      System.out.println(key + "---" + value);
    }
  }
}
 


 


/*
* 1:HashMap和Hashtable的區(qū)別?
* HashMap線程不安全,效率高,允許null鍵和null值
* Hashtable線程安全,效率低,不允許null鍵和null值
* 
* 2:List,Set,Map等接口是否都繼承于Map接口?
* List,Set不是繼承自Map接口,它們繼承自Collection接口
* Map接口本身就是一個頂層接口
* */
import java.util.HashMap;
import java.util.Hashtable;
 
public class IntegerDemo {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
 
    HashMap<String, String> hm = new HashMap<String, String>();
    Hashtable<String, String> ht = new Hashtable<String, String>();
 
    hm.put("hello", "world");
    hm.put("java", "c++");
    hm.put(null, "sql");
 
    ht.put("hello", "world");
    ht.put("java", "c++");
    ht.put(null, "sql");// Exception in thread "main"
              // java.lang.NullPointerException
  }
}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評論