首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Hashtable 为什么不叫 HashTable

前几天在写《HashMap 和 Hashtable 的 6 个区别》这篇文章的时候,差点把 Hashtable 写成了 HashTable,后来看源码证实了是:Hashtable,小写的 "t"able...当时就很好奇,Hashtable 为什么不是 HashTable 呢? 作为一名初级的 Java 程序员都应该知道的基本的驼峰命名规则,为什么 JDK 代码里面还有这种不规范的命名呢?...最佳答案是: Hashtable was created in Java v1....顺便说一下,这样就使得 Hashtable 过时了,所以不应该在新代码中继续使用它。 栈长看了下,Hashtable 确实是 JDK1.0 添加的,最早的一个集合类,这样也说得过去。...另外,关于《HashMap 和 Hashtable 的 6 个区别》,有人留言说可以使用 currenthashtable。 ?

61430
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    详解HashMap、HashTable

    1 HashTable HashTable和HashMap的关系最近,可以认为是HashMap的线程安全版本。...即如果在遍历过程中发现modCount改变,程序会报错。 count是存储元素的总数。用来作为扩容等操作的依据。 其他地方和HashMap操作一致。...1.2 对比 HashTable和HashMap的区别主要有: HashMap是非线程安全的,HashTable是线程安全的。HashTable实现线程安全的办法是在方法上加同步锁,因此性能更差。...HashMap允许插入null值,而HashTable不允许。插入null时,HashTable会抛出NullPointerException。...HashTable中的同步方法实际上是对整个HashTable对象加锁,任何操作都会锁住整个对象。这样,当操作变多时,或者HashTable变大时,性能会很差。

    44920

    Hashtable源码解析

    今天我们来分析一下Hashtable的底层实现。提到Hashtable可能对于有些人来说会比较陌生,因为不经常使用。这是因为Hashtable是很早就有的集合类了,因为它是在JDK1.0版本中存在的。...HashMap集合是在Hashtable集合之后才有的。也可以理解为HashMap集合是优化后的Hashtable。...既然我们已经掌握了HashMap的底层实现,那么我们在分析Hashtable时会比较容易,所以本篇中将直接分析Hashtable的底层源码,将不在介绍哈希表的相关知识了。...上面源码是Hashtable集合初始化时所调用的方法,也就是我们通过默认无参的构造方法创建Hashtable对象时,就会执行上述代码。...value Hashtable不能保存相同的key元素,如果元素的key相同,则将后添加到Hashtable中的元素的value覆盖原Hashtable已经存在的元素的value Hashtable执行再散列时

    44020

    HashMap与HashTable区别

    HashMap允许null key和null value,而hashtable不允许。 2  HashTable是线程安全的一个Collection。...HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。...最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。 ...public static void main(String args[]) { HashTable h=new HashTable(); h.put("用户1",new Integer(90))...前面说的Iterator只能对容器进行向前遍历,而 ListIterator则继承了Iterator的思想,并提供了对List进行双向遍历的方法。

    81060

    HashMap 和Hashtable的区别

    作者:王兴 HashMap与Hashtable的区别 HashMap与Hashtable的区别是面试中经常遇到的一个问题。这个问题看似简单,但如果深究进去,也能了解到不少知识。...虽然Hashtable比HashMap出现的早一些,但是现在Hashtable基本上已经被弃用了。而HashMap已经成为应用最为广泛的一种数据类型了。...造成这样的原因一方面是因为Hashtable是线程安全的,效率比较低。另一方面可能是因为Hashtable没有遵循驼峰命名法吧。。。 3....遍历方式的内部实现上不同 Hashtable、HashMap都使用了 Iterator。而由于历史原因,Hashtable还使用了Enumeration的方式 。...之所以会有这样的不同,是因为Hashtable和HashMap设计时的侧重点不同。Hashtable的侧重点是哈希的结果更加均匀,使得哈希冲突减少。

    50620

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券