之前我们看过了两种类型的集合,ArrayList集合和LinkedList集合,两种集合各有优势,我们不具体说了,但是本篇要看的集合可以完成它们完成不了的任务。比如:现有一篇文章,要你统计其中出现了哪些单词,每个单词总共出现了几次。这个问题很明显需要记录两个变量(某单词及其出现次数),但是我们之前介绍的集合都只能同时存储一种类型的变量,无法实现对应的效果。
我们的HashMap又可以叫做键值对集合(官方名称映射),比如:
public class Test_Class { public static void main(String[] args){
HashMap<String,Integer> map = new HashMap<String, Integer>(); map.put("hello",10);
}
}/*第一条记录,保存了hello这个单词在文章中总共出现10次*/
一、超接口Map
想要研究一个具体的类,先要看看它的父类或者父接口。HashMap实现了Map<K,V>接口,K表示键,V表示值,一个键对应一个值,整个集合中键是唯一的不可重复。
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();
...... //源码中方法很多,我们简单介绍几个常用的}

