之前我們看過了兩種類型的集合,ArrayList集合和LinkedList集合,兩種集合各有優(yōu)勢,我們不具體說了,但是本篇要看的集合可以完成它們完成不了的任務(wù)。比如:現(xiàn)有一篇文章,要你統(tǒng)計其中出現(xiàn)了哪些單詞,每個單詞總共出現(xiàn)了幾次。這個問題很明顯需要記錄兩個變量(某單詞及其出現(xiàn)次數(shù)),但是我們之前介紹的集合都只能同時存儲一種類型的變量,無法實現(xiàn)對應(yīng)的效果。
     我們的HashMap又可以叫做鍵值對集合(官方名稱映射),比如:

public class Test_Class {    public static void main(String[] args){
        HashMap<String,Integer> map = new HashMap<String, Integer>();        map.put("hello",10);
    }
}/*第一條記錄,保存了hello這個單詞在文章中總共出現(xiàn)10次*/


     一、超接口Map
          想要研究一個具體的類,先要看看它的父類或者父接口。HashMap實現(xiàn)了Map<K,V>接口,K表示鍵,V表示值,一個鍵對應(yīng)一個值,整個集合中鍵是唯一的不可重復(fù)。

public interface Map<K,V> {   int size();   boolean isEmpty();   boolean containsKey(Object key);   boolean containsValue(Object value);   V get(Object key);   V put(K key, V value);   V remove(Object key);   void putAll(Map<? extends K, ? extends V> m);   void clear();   Set<K> keySet();   Collection<V> values();
   Set<Map.Entry<K, V>> entrySet();
   ......   //源碼中方法很多,我們簡單介紹幾個常用的}

網(wǎng)友評論