在HashMap上打星号表示如果没有其他限制,他就应该成为你的默认选择,因为对速度进行了优化,其他的实现强调了其他的特性,因此都不如HashMap快
HashMap*
Map基于散列表的实现(取代了Hashtable),插入和查询“键值对”的开销是固定的,可以通过构造器设置容量和负载因子,以调整容器的性能
LinkedHashMap
类似于HashMap,但是迭代遍历它时,取得“键值对”的顺序是其插入次序,比HashMap慢一些,但是在迭代遍历是要更快,因为它使用链表维护内部次序
TreeMap
基于红黑树的实现,查看键或键值对时,他们会被排序(次序由comparable或comparator),特点在于所得到的result是经过排序的,TreeMap是唯一的带有subMap()方法的Map,它是可以返回一个子树
weakHashMap
弱键(weak key)映射,允许释放映射所指向的对象,这是为解决某类特殊问题而设计的,如果映射之外没有引用指向某个‘键’,那么这个键会被GC回收
ConcurrentHashMap(并发)
一种线程安全的Map,不涉及同步加锁
IdentityHashMap
使用==代替equals()对键进行比较的散列映射,专为解决特殊问题而设计的。
网友评论