Java中HashMap,LinkedHashMap,WeakHashMap,HashTable,TreeMap等的区别?

Java中

HashMap
LinkedHashMap
WeakHashMap
HashTable
IdentityHashMap
TreeMap

的区别?

和它们各自的实现特点
比如HashMap用数组和链表来保存等。

阅读 3.6k
2 个回答

HashMap: 基于Hash表实现的Map(Key-Value)类型
TreeMap:有序的Map(基于key自然排序)
LinkedHashMap:有序的Map(基于插入顺序排序)
WeakHashMap:只持有key的弱引用,所以当key被回收时,可自动删除对应key的那条记录。
IdentityHashMap:一般Map实现中key的值相等(equals为true)就认为是同一个key,这个Map是以同一个对象(引用)作为判断依据,官方不建议使用。
HashTable:类似于HashMap,key或value可为null,线程安全的,老式实现。
最后,建议楼主这类问题可以直接看看Java SE的手册,里面都有详细的介绍:Java SE API

不知道你有没有学过数据结构?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题