Mapインターフェースの実装がいろいろあってどの実装がどういう特徴だったかを簡単にメモ
EnumMap
keyにEnum型を指定できる。
HashMap
普遍的なMapの実装
ConcurrentHashMap
スレッドセーフなHashMap
HashTable
古いJavaのためのものに残っている。
HashMapとはkey値にnullを許容しないぐらいの違い。
IdentityHashMap
key値の比較に==を用いる(同一インスタンスであること)Map実装。
LinkedHashMap
順序保証がある(挿入順)Map実装
TreeMap
決められた順番でkeyを保持する。
(無指定の時、KeyはComparableインターフェースを実装する必要がある。)
ConcurrentSkipListMap
スレッドセーフなTreeMap
WeakHashMap
keyへの参照がなくなった時、valueも削除されるHashMap
参考元
https://docs.oracle.com/javase/jp/7/api/java/util/Map.html