1 HashMap

散列映射对键key进行散列,与键关联的值value不散列。散列映射比树映射稍微快点,如果不需要排序,就选用散列映射。
HashMap 是 AbstractMap 的子类,实现了 Map<K,V>, Cloneable, Serializable 接口。

java.util.HashMap
函数签名 用途
HashMap()
HashMap(int initialCapacity)
HashMap(int initialCapacity, float loadFactor)
用给定的容量和装填因子构造一个空散列映射,默认容量16,默认装填因子0.75
HashMap(Map<? extends K,? extends V> m) 用给定的映射构造一个新的散列映射


2 TreeMap

树映射根据根据键的顺序将元素组织为一个搜索树,与键关联的值不进行比较。
TreeMap 是 AbstractMap 的子类,实现了 Map<K,V>, NavigableMap<K,V>, SortedMap<K,V>, Serializable, Cloneable, 接口。

java.util.TreeMap
方法签名 用途
TreeMap() 构造一个空的树映射,它的键必须实现了Comparable接口
TreeMap(Comparator<? super K> c) 构造一个空的树映射,并指定一个比较器对键进行排序
TreeMap(Map<? extends K, ? extends V> entries) 构造一个空的树映射,并将给定的映射中的所有条目添加进去
TreeMap(SortedMap<? extends K, ? extends V> entries) 构造一个空的树映射,并将给定的SortedMap中所有的条目添加进去,且采用相同的比较器。