Map集合

Map集合

特點:      該集合存儲鍵值對。一對一對往裏存,而且要保證鍵的唯一性。

 

方法

     添加

                i.         put(K key, V value)

返回的V,爲之前同鍵的值。

               ii.         putAll(Map<? extends K , ?extends V> M)

     刪除

                i.         clear():清空

               ii.         remove()

     判斷

                i.         containsValue(Object value);

               ii.         containsKey(Object key);

              iii.         isEmpty();

     獲取

get(Object key)

可以通過get方法的返回值來判斷一個鍵是否存在,通過返回null來判斷

size()

values()

獲取map集合中所有的值,返回的是collection集合。並且有泛型,需指定類型

 

Set<Map.Entry<k,v>> entrySet()

map集合中的映射關係存入到set集合中,而這個關係的數據類型就是map.Entry.

首先將Map集合中的映射關係取出,存入到Set集合中。例:

Set<Map.Entry<String,String>> entrySet =map.entrySEt();

 

Map.Entry:其實Entry也是一個接口,它是Map接口中的一個內部接口。

 

Set<K> keySet()

Map中所有的鍵存入到Set集合。因爲Set集合具備迭代器,所以可以通過迭代方式取出所有的鍵,再根據get方法,獲取每一個鍵對應的值。

 

 

Map的子類

     Hashtable

底層是哈希表的數據結構,不存入null鍵和null值。該集合是線程同步的。

     HashMap

底層是哈希表的數據結構,允許使用null鍵和null值,該集合是不同步的。

     TreeMap

底層是二叉樹的數據結構,線程不同步。可以用於給map集合中的鍵進行排序。

      

       Set底層就用使用的Map集合

 

       當存入同鍵的值時,會替換之前的同鍵的值。

 

       當發現有映射關係時,可以選擇Map集合,因爲map集合中存放就是映射關係。

 

map擴展知識

map集合被使用是因爲具備映射關係。

 

keySet() :

Set<String> set = hm.keySet();
Iterator<String> it = set.iterator();
  
while(it.hasNext()){

 String strkey = it.next();
 String strval = hm.get(strkey);
 System.out.println(strkey+":::::"+strval);

}

 

entrySet()

 

  Set<Map.Entry<String,String>> set = hm.entrySet();  
  Iterator<Map.Entry<String,String>> it = set.iterator();
  while(it.hasNext()){
  
   Map.Entry<String,String> me = it.next();   
   String key = me.getKey();
   String val = me.getValue();
   System.out.println(key+"::::"+val);

}

發佈了67 篇原創文章 · 獲贊 8 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章