hashtable
答:Hashtable在Java中是一种数据结构,其性能受两个关键参数影响:初始容量和加载因子。初始容量决定哈希表创建时的桶数量,而加载因子衡量哈希表在自动扩容前的填充程度。这两个参数旨在提供实现的指导,但具体何时以及如何调用rehash方法取决于具体实现策略。默认的加载因子(0.75)在时间和空间效率之间寻求平衡...
答:hashmap和hashtable的区别:一、hash数组默认大小不同 1、HashMap:HashMap中 hash数组的默认大小是16,而且一定是2的指数。2、Hashtable:HashTable中hash数组默认大小是11,增加的方式是 old*2+1。二、线程安全不同 HashMap不是线程安全的,HashTable是线程安全。HashMap允许空(null)键值(key),...
答:引入 ConcurrentHashMap 是为了在同步集合HashTable之间有更好的选择, HashTable 与 HashMap 、 ConcurrentHashMap 主要的区别在于HashMap不是同步的、线程不安全的和不适合应用于多线程并发环境下,而 ConcurrentHashMap 是线程安全的集合容器,特别是在多线程和并发环境中,通常作为 Map 的主要实现。除了...
答:public Hashtable()public Hashtable(int initialcapacity)public Hashtable(int initialCapacity,float loadFactor)参数initialCapacity是Hashtable的初始容量,它的值应大于0。loadFactor又称装载因子,是一个0.0到1之间的float型的浮点数。它是一个百分比,表明了哈希表何时需要扩充,例如,有一哈希表,容量...
答:您好:1.HashTable 哈希表(HashTable)表示键/值对的集合。在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key-value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key-value键值对均为object类型,所以...
答:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。
答:Hashtable容器在竞争激烈的并发环境下表现出效率低下的原因是因为所有访问Hashtable的线程都必须竞争同一把锁,假如容器里有多把锁,每一把锁用于锁容器其中一部分数据,那么当多线程访问容器里不同数据段的数据时,线程间就不会存在锁竞争,从而可以有效提高并发访问效率,这就是ConcurrentHashMap所使用的锁...
答:1、HashTable是同步(方法中使用了Synchronize)的;而HashMap是未同步(方法中缺省Synchronize)的。2、Hashtable线程安全,因为它每个方法中都加入了Synchronize,在多线程并发的环境下,可以直接使用Hashtable,不需自己在加同步;HashMap线程不安全,因为HashMap底层是一个Entry数组,当发生hashmap冲突的时候...
答:它们的不同是Hashtable(since JDK1.0)就继承了Dictionary这个抽象类,而HashMap(since JDK1.2)继承的则是AbstractMap这个抽象类。第二个区别我们从同步和并发性上来说说它们两个的不同。可以通过这两个类得源码来分析,Hashtable中的主要方法都做了同步处理,而HashMap则没有。可以说Hashtable在默认...
答:HashMap是非synchronized,而Hashtable是synchronized,这意味着Hashtable是线程安全的,多个线程可以共享一个Hashtable;而如果没有正确的同步的话,多个线程是不能共享HashMap的。Java 5提供了ConcurrentHashMap,它是HashTable的替代,比HashTable的扩展性更好。另一个区别是HashMap的迭代器(Iterator)是fail-...
网友评论:
谈林15360795069:
Hashtable - 百科
58815政沾
: 哈希表(Hashtable)又称为“散置”,Hashtable是会根据索引键的哈希程序代码组织成的索引键(Key)和值(Value)配对的集合.Hashtable 对象是由包含集合中元素的哈希桶(Bucket)所组成的.而Bucket是Hashtable内元素的虚拟子群组,...
谈林15360795069:
Hashtable的功能是什么?
58815政沾
: HashTable是用来储存数据,和ArrayList的目的一样,不同的是HashTable是通过key来存取对应的数据,而ArrayList是通过index(下标)来存取数据.
谈林15360795069:
HashTable有什么用? -
58815政沾
: Map都是以键值对存储的,其实质就是一个存储键值对的Set集合,我相信如果你做过Android或者Java EE方面的项目的话,那么几乎不能避免不使用Map类或者说是其中的思想,很多时候只有亲自实践过才知道,最简单来说,里面的国际化都是键值对实现的.一般的纯集合才会用List和Set.前缀以Hash开头表示以哈希方法存储键,需要重写hashCode()方法,避免键的重复.另外说明一点,没有HashTable这个类,在Java中是Hashtable,说明这是一个古老的类,与HashMap相比较,前者线程安全而后者不安全,实际开发中,应当尽量避免使用Hashtable类
谈林15360795069:
HashMap和Hashtable的区别 -
58815政沾
: Hashtable和HashMap类有三个重要的不同之处.第一个不同主要是历史原因.Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现.也许最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是....
谈林15360795069:
Java中HashMap和Hashtable及HashSet的区别 -
58815政沾
: hastTable和hashMap的区别:(1)Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现.(2)这个不同即是最重要的一点:Hashtable中的方法是同步的,而HashMap方法(在缺省情况下)是非同步的.即是说...
谈林15360795069:
HashMap和Hashtable的区别
58815政沾
: 都属于Map接口的类,实现了将惟一键映射到特定的值上. HashMap 类没有分类或者排序.它允许一个 null 键和多个 null 值. Hashtable 类似于 HashMap,但是不允许 null 键和 null 值.它也比 HashMap 慢,因为它是同步的. Hashtable继承自...
谈林15360795069:
java中的Hashtable怎么用,请详细举例子说明,拜托了 谢谢 -
58815政沾
: 就是哈希表,下面这个示例创建了一个数字的哈希表.它将数字的名称用作键: Hashtable<String, Integer> numbers = new Hashtable<String, Integer>(); numbers.put("one", 1); numbers.put("two", 2); numbers.put("three", 3); 要获取一个数字,可以使用以下代码: Integer n = numbers.get("two"); if (n != null) { System.out.println("two = " + n); }
谈林15360795069:
Hashtable 和 HashMap 的区别:
58815政沾
: 答:HashMap 是 Hashtable的一个轻量级实现,HashMap里面的方法是异步的,效率要高,因为异步的时候大家都可以用,所以效率要高; 而Hashtable里面的方法不是异步的,而是同步的一个时间段里只能一个人访问所以效率要低.但是它保...
谈林15360795069:
JDK 中 HashTable 和 HashMap 类的区别是什么?哪个是线程安全的? -
58815政沾
: Hashtable是从JDK 1.0问世开始就存在的基本工具类,具有线程安全.历史久,多在Java的早期分支版本比如Java ME,Java Card等中没有条件具备大型集合库的小型环境下使用.HashMap属于J2SE/JDK 1.2开始新增的JCL集合库,属于新库中的组件.不具备线程安全.HashMap和集合库中其他接口配合的更紧密,所以也被更广泛地使用.功能上差不多,单线程下很大程度上可以互相替换使用.Hashtable不接受null做为键或值.HashMap可以接受一个null做健,和允许null做值