集合類-Map

Map存儲鍵值對形勢的數據,保存的元素總是成對出現的。鍵不能重複,值可以重複。

繼承關係
Map沒有父接口,不是繼承自Collection。
Map下有HashMap、HashTable、WeakHashMap、IdentityHashMap、TreeMap實現類,HashMap下有LinkedHashMap子類。
HashMap
HashMap基於散列表實現,繼承了AbstractMap抽象類,AbstractMap中已經實現了部分Map的功能方法。實現了Map、Cloneable、Serializable接口。

public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable

LinkedHashMap
LinkedHashMap繼承自HashMap類,功能類似於HashMap,但是遍歷時取出來的鍵值是插入順序。因爲有鏈表維護內部元素的順序,迭代速度比HashMap快。

public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V>

HashTable
操作元素相關的方法使用了synchronized關鍵字,實現了同步的Map。

public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, Serializable

WeakHashMap
弱鍵映射,允許釋放映射所指的對象。

public class WeakHashMap<K,V> extends AbstractMap<K,V> implements Map<K,V> {

IdentityHashMap
用==代替equals對鍵值進行比較的特殊Map實現。

public class IdentityHashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Serializable, Cloneable

TreeMap
基於紅黑樹實現,裏面的鍵值會被排序。具有subMap返回一個子集的方法。

public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, Serializable
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章