dictionary 和 hashtable 区别

区别:1,Dictionary支持泛型,而Hashtable不支持。

2,Dictionary没有装填因子(Load
Facto)概念,当容量不够时才扩容(扩容跟Hashtable一样,也是两倍于当前容量最小素数),Hashtable是“已装载元素”与”bucket数组长度“大于装载因子时扩容。

3,Dictionary内部的存储value的数组按先后插入的顺序排序,Hashtable不是。

4,当不发生碰撞时,查找Dictionary需要进行两次索引定位,Hashtable需一次。

转大神的日志: http://www.cnblogs.com/wangjun1234/p/3719635.html

时间: 2024-10-11 04:34:06

dictionary 和 hashtable 区别的相关文章

Dictionary和Hashtable的一些异同

Dictionary和Hashtable 区别: Dictionary和Hashtable 区别 Dictionary Hashtable  支持范型 不支持 需要自己做线程同步 通过调用 Synchronized() 方法可以获得线程安全的类型 枚举类型是KeyValuePair 枚举类型是DictionaryEntry .Net 2.0开始有 .Net 1.0开始有 System.Collections.Generic命名空间下 System.Collections命名空间下 获取同一个不存

java集合List、Set、Map总结 + HashMap/Hashtable区别

List:(有序,可以重复)通过下标索引 ----ArrayList  可变数组,随机查找 ----LinkedList    链表,任何位置插入删除快 ----Vector    效率比arraylist低,但是可以用于多线程同步 Set:(无序,不可以重复)set最多有一个null元素,因为不可以重复 ----HashSet    没有排序,不重复(顺序随机) ----LinkedHashSet    按插入排序,不重复(按插入顺序) ----TreeSet    实现Comparable接

C#中Dictionary,Hashtable,List的比较及分析

一. Dictionary与Hashtable Dictionary与Hashtable都是.Net Framework中的字典类,能够根据键快速查找值 字典的性能取决于键类型的GetHashCode()方法的实现代码. 键类型也必须实现IEquatable<T>.Equals()方法,并且如果A.Equals(B)返回true,则A和B的GetHashCode()也必须返回相同的值. Dictionary 适合多线程 有泛型优势(类型安全,性能更好),对于值类型,不存在装箱和拆箱的性能损耗

hashMap和hashTable区别

[不定项选择题] 有关hashMap跟hashTable的区别,说法正确的是? HashMap和Hashtable都实现了Map接口 HashMap是非synchronized,而Hashtable是synchronized HashTable使用Enumeration,HashMap使用Iterator Hashtable直接使用对象的hashCode,HashMap重新计算hash值,而且用与代替求模 答案:A.B.C.D 来自牛客网的一网友评论,(尊重原评论,小弟在此受教.) HashTa

JAVA HashMap与HashTable 区别

HashTable和HashMap区别 第一,继承不同. public class Hashtable extends Dictionary implements Mappublic class HashMap extends AbstractMap implements Map 第二 Hashtable 中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的.在多线程并发的环境下,可以直接使用Hashtable,但是要使用HashMap的话就要自己增加同步处理了. 第三 Hashta

HashMap(3) 与HashTable区别

今天看代码,想到去年发生的HashMap发生的CPU使用率100%的事件,转载下当时看的三个比较不错的博客(非常推荐) 参考:http://coolshell.cn/articles/9606.html   http://github.thinkingbar.com/hashmap-analysis/ http://developer.51cto.com/art/201102/246431.htm 人物: 王小胖:性别:男.程序员,工作经验1 year.爱好:吃肉.电玩.马小花.特技:吃肉不用考

vector与ArrayList、hashmap与hashtable区别

一.vector与ArrayList区别     首先要说明的是vector和arraylist都是list的实现类,都是代表链表的数据结构. java.util.Vector;  类中 package java.util; public class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable { protected

JAVA中HashMap和Hashtable区别

Hashtable和HashMap在Java面试中相当容易被问到,甚至成为了集合框架面试题中最常被考的问题,所以在参加任何Java面试之前,都不要忘了准备这一题. 我们先看2个类的定义 public class Hashtable extends Dictionary implements Map, Cloneable, <a href="http://lib.csdn.net/base/javase" class='replace_word' title="Java

java HashMap和HashTable区别,Collection常见方法

/** * @param args * 面试题 * HashMap和Hashtable的区别 * 共同点: * 底层都是哈希算法,都是双列集合 * 区别: * 1,HashMap是线程不安全的,效率高,JDK1.2版本 * Hashtable是线程安全的,效率低,JDK1.0版本的 * 2,HashMap可以存储null键和null值 * Hashtable不可以存储null键和null值 */ public static void main(String[] args) { HashMap<S