首页  >  问答  >  正文

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

Java中

HashMap
LinkedHashMap
WeakHashMap
HashTable
IdentityHashMap
TreeMap

的区别?

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

阿神阿神2764 天前909

全部回复(2)我来回复

  • 黄舟

    黄舟2017-04-18 09:50:24

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

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-18 09:50:24

    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

    回复
    0
  • 取消回复