HashMap,LinkedHashMap,TreeMap的区别

来源:互联网 发布:商城模板html源码下载 编辑:程序博客网 时间:2024/06/07 07:13
HashMap:key-value的结构,

LinkedHashMap继承自HashMap,一个有序的Map接口实现,这里的有序指的是元素可以按插入顺序或访问顺序排列;与HashMap的异同:同样是基于散列表实现,区别是,LinkedHashMap内部多了一个双向循环链表的维护,该链表是有序的,可以按元素插入顺序或元素最近访问顺序(LRU)排列
简单地说:LinkedHashMap=散列表+循环双向链表

TreeMap基于红黑树(Red-Black tree)的 NavigableMap 实现。该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序
TreeMap集合默认会对键进行排序,所以键必须实现自然排序和定制排序中的一种 


Hashtable与 HashMap类似,它继承自Dictionary类,它支持线程的同步,锁住了整张hash表,效率比较低,出现于JDK 1.0.