Hashtable TreeMap HashMap LinkedHashMap的区别

Hashtable TreeMap HashMap LinkedHashMap详解

  • Hashtable
1、内部存储的键值对是无序的是按照哈希算法进行排序,与 HashMap 最大的区别就是线程安全。
2、键或者值不能为 null,为 null 就会抛出空指针异常。
3、HashTable 是 sychronize,多个线程访问时不需要自己为它的方法实现同步。
4、Hashtable提供了对键的列举(Enumeration)。
  • HashMap
1、 是线程不安全的,HashMap 是一个接口,是 Map 的一个子接口,是将键映射到值得对象
2、不允许键值重复,允许空键和空值;
3、由于非线程安全,HashMap 的效率要较 HashTable 的效率高一些。
4、HashMap 在被多个线程访问的时候需要自己为它的方法实现同步
5、HashMap提供了可供应用迭代的键的集合,因此,HashMap是快速失败的
  • TreeMap
基于红黑树 (red-black tree) 数据结构实现,按 key 排序,默认的排序方式是升序。
  • LinkedHashMap
有序的 Map 集合实现类,相当于一个栈,先 put 进去的最后出来,先进后出。

Hashtable TreeMap HashMap LinkedHashMap的区别相关推荐

  1. Hashtable和HashMap类的区别

    Hashtable和HashMap类有三个重要的不同之处.第一个不同主要是历史原因.Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现. ...

  2. Hashtable和hashMap有什么区别

    1. 继承父类 HashMap 继承 AbstractMap:Hashtable继承Dictionary类,Dictionary类已过时,子类不建议使用,一般认为Hashtable是一个遗留类 2. ...

  3. HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别

    Hash算法 Hash,一般翻译做"散列",也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的 ...

  4. HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别(转)

    HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别 文章来源:http://www.cnblogs.com/beatIteWeNerverGiveU ...

  5. java中HashMap,LinkedHashMap,TreeMap,HashTable的区别

    java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap Map主要用于存储健值对,根 ...

  6. 【Java集合之Map】HashMap、HashTable、TreeMap、LinkedHashMap区别

    Java为数据结构中的映射定义了一个接口java.util.Map,它有四个实现类,分别是HashMap.HashTable.LinkedHashMap和TreeMap.本节实例主要介绍这4中实例的用 ...

  7. Hashtable、HashMap 与 HashTable区别、HashMap、Hashtable和TreeMap、 LinkedHashMap

    目录 Hashtable的函数都是同步的 HashMap 与 HashTable区别 HashMap.Hashtable和TreeMap LinkedHashMap 特殊新增的构造器 TreeMap ...

  8. HashMap, LinkedHashMap 和 TreeMap的区别

    HashMap, LinkedHashMap 和 TreeMap的区别 Java里面的HashMap, LinkedHashMap 和 TreeMap 有什么区别?我看不出以下3个key和value有 ...

  9. 【转】HashMap、TreeMap、Hashtable、HashSet和ConcurrentHashMap区别

    转自:http://blog.csdn.net/paincupid/article/details/47746341 一.HashMap和TreeMap区别 1.HashMap是基于散列表实现的,时间 ...

最新文章

  1. Asp.net Core Configuration
  2. 对移动APP开发的需求分析的观点及见解
  3. 生产上如何设置线程池参数?拒绝策略怎么配?|| Executors 中 JDK 给你提供了,为什么不用??
  4. 计算天数java_Java,计算两个日期之间的天数
  5. 【机器学习基础】数学推导+纯Python实现机器学习算法24:LightGBM
  6. 服务器上的文件怎么取名,给新的服务器取名你会取神马?
  7. 1.1内置数据类型概述
  8. ssrs行高_SSRS中的备用行颜色
  9. java.io.IOException: output.properties data exceeds its limit [2048] hue的调度
  10. 关于python编程语法_Python编程入门——基础语法详解
  11. 正态分布下贝叶斯决策的特例(三)
  12. html%3ca%3e标签改字体颜色,HTML URL Encoding 参考
  13. 何为真正的大规模定制
  14. Python基础(七) | 文件、异常以及模块详解
  15. Linux管道通信多次读写,linux进程通信之(二):管道的读与写
  16. App Store评论优化,让你的APP评论上涨
  17. android 简单快速 倒计时动画
  18. 5月9日机构对金融市场观点汇总
  19. 在OpenStack私有云上安装配置虚拟机
  20. 机器学习小组知识点31:重要性采样(Importance Sampling )

热门文章

  1. 现有CSDN博客的排名机制
  2. 方便食品直接上菜 自嗨锅和西贝哪来的勇气?
  3. 花小猪,真正的对手是谁?
  4. scrapy mysql 报错_scrapy爬数据存mysql报错
  5. ffmpeg 如何把左右声道_耳机里的乾坤 | 左右声道?耳返?这些耳机常识,爱听音乐的你一定不会错过...
  6. unity的vr场景怎么做_营销技巧逐渐失效,如何通过场景化营销重新赢回市场?...
  7. 行为模型实例 php,JS中事件模型的实例详解
  8. linux跑r语言代码,R语言快捷键(示例代码)
  9. node MySQL buffer_node.js中buffer方法使用说明
  10. mysql视图_mysql之视图详解