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

java HashMap詳解及實(shí)例代碼

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

java HashMap

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

 Map集合的遍歷

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

獲取所有鍵的集合

遍歷鍵的集合,獲取每一個(gè)鍵

根據(jù)鍵,查詢(xún)值

方式2,根據(jù)鍵值對(duì)的對(duì)象查詢(xún)鍵和值

獲取所有鍵值對(duì)的對(duì)象的集合

遍歷鍵值對(duì)的對(duì)象的集合,獲取到每一個(gè)鍵值對(duì)的對(duì)象

根據(jù)鍵值對(duì)的對(duì)象,查詢(xún)鍵和值

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

/*

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

 

import java.util.HashMap;
import java.util.Map;
import java.util.Set;
 
/*
 * Map集合的遍歷,根據(jù)鍵查詢(xún)值
 *
 * 思路:
 * A:獲取所有的鍵
 * B:遍歷鍵的集合,獲取得到每一個(gè)鍵
 * C:根據(jù)鍵查詢(xún)值
 * */
 
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:遍歷鍵的集合,獲取得到每一個(gè)鍵
    for (String key : set) {
      // C:根據(jù)鍵查詢(xún)值
      String value = map.get(key);
      System.out.println(key + "---" + value);
    }
  }
}

方式2,根據(jù)鍵值對(duì)的對(duì)象查詢(xún)鍵和值

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

import java.util.HashMap;
import java.util.Map;
import java.util.Set;
 
/*
 * Map集合的遍歷,根據(jù)對(duì)象查詢(xún)鍵和值
 *
 * 思路:
 * A:獲取所有的鍵值對(duì)對(duì)象的集合
 * B:遍歷鍵值對(duì)對(duì)象的集合,得到每一個(gè)鍵值對(duì)的對(duì)象
 * 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:獲取所有的鍵值對(duì)對(duì)象的集合
    Set<Map.Entry<String, String>> set = map.entrySet();
 
    // B:遍歷鍵值對(duì)對(duì)象的集合,得到每一個(gè)鍵值對(duì)的對(duì)象
    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接口本身就是一個(gè)頂層接口
* */
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
  }
}

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

相關(guān)文章

最新評(píng)論