就是哈希表,下面这个示例创建了一个数字的哈希表。
1、HashTable是同步( *** 中使用了Synchronize)的;而HashMap是未同步( *** 中缺省Synchronize)的。
2、HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。
3、HashTable的 *** 是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样。HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。
4、HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。
5、Hashtable中,key和value都不允许出现null值。但是如果在Hashtable中有类似put(null,null)的操作,编译同样可以通过,因为key和value都是Object类型,但运行时会抛出NullPointerException异常,这是JDK的规范规定的。
1、继承父类不同 Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类;但二者都实现了Map接口。线程的安全性 HashTable是同步( *** 中使用了Synchronize)的;而HashMap是未同步( *** 中缺省Synchronize)的。
2、HashTable是线程安全。HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。
3、HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。
4、hashmap和hashtable的区别:hash数组默认大小不同 HashMap:HashMap中 hash数组的默认大小是16,而且一定是2的指数。Hashtable:HashTable中hash数组默认大小是11,增加的方式是 old*2+1。
5、HashMap是线程不安全的,在多线程并发的环境下,可能会产生死锁等问题,因此需要开发人员自己处理多线程的安全问题。Hashtable是线程安全的,它的每个 *** 上都有synchronized 关键字,因此可直接用于多线程中。
6、HashTable的 *** 是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样。HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。
就是哈希表,下面这个示例创建了一个数字的哈希表。
java中使用map存取数据的 *** 如下:需要指定其中的K,V;k=keyv=value。指定其中K、V的类型。接下来往map中添加数据。需要注意的是,如果map中已经存在的key,后面添加的会覆盖掉当前值。
不知道楼主是指在JAVA中存储还是通过JDBC进行数据库操作。前者可以使用Hashtable等 *** 进行实现。一个元素表示一条记录。而一个元素又是一个Hashtable。通过对Hashtable的操作,可以达到数据库表的操作需求。