本文有关java.util数据结构接口 Map<K,V>
Basic Knowledge:
形如 Map<K,V>就是map的第一印象,它是Java提供的一种数据结构接口。
其中,K代表英文单词key,是键的意思;V代表英文单词value是值的意思,具体表示的是键/值的类型。
举个例子: Map<Character, Integer> map = new HashMap<Character, Integer>();
这里声明了一个HashMap也是最常用的Map类型之一,Character对应是key值的类型,Integer对应的是value值的类型。
除了HashMap以外常用的实现类还有Hashtable, LinkedHashMap和 TreeMap。
Map操作
clear()
containsKey(Object key)
containsValue(Object value)
entrySet()
equals(Object o)
hashCode()
get(Object key)
isEmpty()
keySet()
put(K key, V value)
putAll(要被合并的那个map) :用来合并两个map, 当key重复,后面的值会覆盖前一个,例如map_A.putAll(map_B) 如果键相同的话,map_B中的值覆盖map_A。
remove(Object key)
size()
values()
Advanced Knowledge:
HashMap无序;LinkedHashMap按插入顺序;TreeMap默认按Key的自然序排列,也可以自定义比较器。
Application Example:
Leetcode Problem--First Unique Char
Knowledge Review:
What does interface Map in Java look like?
Commonly used implementing classed?
Difference between HashMap, HashTable, LinkedHashMap, TreeMap?
Reference:
Java official Document:https://docs.oracle.com/javase/7/docs/api/java/util/Map.html
Java中HashMap, LinkedHashMap, TreeMap的区别: http://blog.csdn.net/xiyuan1999/article/details/6198394