HashTable and HashMap

简介: 一、hashtable hashmap使用测试过程 private void testHashTable() {     HashtableString, Object> hTable = new HashtableString, Object>();     hTable.

一、hashtable hashmap使用测试过程


  1. private void testHashTable()
  2. {
  3.     HashtableString, Object> hTable = new HashtableString, Object>();
  4.     hTable.put("key0", "Value0");
  5.     hTable.put("key1", "Value1");
  6.     hTable.put("key0", "Value2");
  7. }


image

image


  1. private void testHastMap()
  2.     {
  3.         HashMapString, Object> map = new HashMapString, Object>();
  4.         map.put("ItemTitle", "第一次put ItemTitle value");
  5.         map.put("ItemText", "第一次put ItemText value");
  6.         map.put("ItemText", "第二次put ItemTitle value");
  7.     }


image

image


二、总结与结论

    由上面测试过程知,hashtable 和 hashmap是不存在key重复的概念的,因为后put的相同的key 集合,全自动将前面put进入的覆盖。这与C#的hashtable有区别,C#的hashtable如果add()了一个key进去,就不能再add同一个key进去了,除非你先remove再add

    另外,根据下面文章的原理分析,大多数情况下推荐使用hashmap。

 

三、参考文献-
详解两者原理区别:

http://blog.csdn.net/java2000_net/article/details/2512510

Hashtable 和 HashMap的区别

image

image

image

相关文章
|
存储 缓存 安全
面试题-HashMap底层原理与HashTable的区别
字节跳动面试题-HashMap底层原理与HashTable的区别
183 0
|
10月前
|
存储 安全 Java
Java 集合框架中的老炮与新秀:HashTable 和 HashMap 谁更胜一筹?
嗨,大家好,我是技术伙伴小米。今天通过讲故事的方式,详细介绍 Java 中 HashMap 和 HashTable 的区别。从版本、线程安全、null 值支持、性能及迭代器行为等方面对比,帮助你轻松应对面试中的经典问题。HashMap 更高效灵活,适合单线程或需手动处理线程安全的场景;HashTable 较古老,线程安全但性能不佳。现代项目推荐使用 ConcurrentHashMap。关注我的公众号“软件求生”,获取更多技术干货!
152 3
|
11月前
|
安全
HashTable与HashMap的区别
(1)HashTable的每个方法都用synchronized修饰,因此是线程安全的,但同时读写效率很低 (2)HashTable的Key不允许为null (3)HashTable只对key进行一次hash,HashMap进行了两次Hash (4)HashTable底层使用的数组加链表HashTable与HashMap的区别
161 2
|
12月前
|
存储 开发者
HashMap和Hashtable的key和value可以为null吗,ConcurrentHashMap呢
HashMap的key可以为null,value也可以为null;Hashtable的key不允许为null,value也不能为null;ConcurrentHashMap的key不允许为null
|
存储 安全 Java
一天十道Java面试题----第二天(HashMap和hashTable的区别--------》sleep、wait、join)
这篇文章是关于Java面试的第二天笔记,涵盖了HashMap与HashTable的区别、ConcurrentHashMap的实现原理、IOC容器的实现方法、字节码的概念和作用、Java类加载器的类型、双亲委派模型、Java异常体系、GC如何判断对象可回收、线程的生命周期及状态,以及sleep、wait、join、yield的区别等十道面试题。
一天十道Java面试题----第二天(HashMap和hashTable的区别--------》sleep、wait、join)
|
安全 Java
【Java集合类面试十五】、说一说HashMap和HashTable的区别
HashMap和Hashtable的主要区别在于Hashtable是线程安全的,不允许null键和值,而HashMap是非线程安全的,允许null键和值。
|
存储 安全 Java
Hashtable 和 HashMap 的区别
【8月更文挑战第22天】
716 0
|
安全 存储 Java
HashMap和Hashtable区别是什么?
HashMap和Hashtable区别是什么?
104 4
|
存储 安全 Java
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
121 0
|
存储 并行计算 安全
【Java编程进阶之路 01】深入探索:HashMap、ConcurrentHashMap与HashTable的演进之路
HashMap、ConcurrentHashMap与HashTable均为Java中的哈希表实现。HashMap非线程安全但性能高,适用于单线程;HashTable线程安全但性能较低,已少用;ConcurrentHashMap线程安全且高性能,是并发环境下的首选。三者在线程安全性与性能间各有侧重。
156 1