最主要的实现类有 Hashtable、HashMap、LinkedHashMap和 TreeMap。在 HashTable 的子类中,还有 Properties的实现。Properties 是专门读取配置文件的类,我们会在稍后介绍。这里首先值得关注的是 HashMap 和 HashTable 两套不同的实现,两者都实现了 Map 接口。从表面上看,并没有多大差别,但是在内部实现上却有些微小的细节。
首先,HashTable 的大部分方法都做了同步,而 HashMap 没有,因此, HashM...
分类:
其他好文 时间:
2014-09-18 03:06:23
阅读次数:
361
最近需要找工作,参加各种笔试、面试(已被虐),发现自己很多基础知识掌握不深,因此把一些出现频率高的知识点记录下来和小伙伴们一起分享、交流(持续更新中。。。。)。...
分类:
编程语言 时间:
2014-09-16 12:41:01
阅读次数:
208
我们先看2个类的定义[java]view plaincopypublicclassHashtableextendsDictionaryimplementsMap,Cloneable,java.io.Serializable[java]view plaincopypublicclassHashMape...
分类:
Web程序 时间:
2014-09-16 10:22:00
阅读次数:
245
1、HashMap的很多方法都不是线程安全的。Hashtable中大部分的方法都是线程安全的。而且HashMap中允许key为null,而Hashtable不允许。也就是说:大部分(例如Hashtable里面的containsValue方法就不是synchronized)Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方...
分类:
其他好文 时间:
2014-09-14 16:45:27
阅读次数:
250
Java中的HashMap的格式为
和hashtable相比是unsynchronized的,同时也允许null值
常用method:
void
clear()
Removes all of the mappings from this map.
boolean
containsKey(Object ke...
分类:
其他好文 时间:
2014-09-08 06:27:06
阅读次数:
278
ConcurrentHashMap是Java5中新增加的一个线程安全的Map集合,可以用来替代HashTable。对于ConcurrentHashMap是如何提高其效率的,可能大多人只是知道它使用了多个锁代替HashTable中的单个锁,也就是锁分离技术(Lock Stripping)。实际上,Co...
分类:
其他好文 时间:
2014-09-07 20:57:15
阅读次数:
422
1、HashMap简介
HashMap提供所有可选的Map操作,并允许使用 null 值和 null 键,,是线程不安全的。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
HashMap的实例有两个参数影响其性能:初始容量 和加载因子。容量 是哈希表中桶的数量,初始容量只是哈希表在创...
分类:
其他好文 时间:
2014-09-06 23:53:04
阅读次数:
684
Hashtable
2.1 简介
哈希表,又名散列表,可以提供“常数时间”的插入、删除、查询等操作。不同的元素通过hash function映射到不同的位置,但当不同元素获得经hash function获得相同的位置(索引)时,则发生“碰撞”,此时需要通过以下几种方法为新加入的元素寻找新的索引地址。
1、 线性探测法
由于为元素准备的为一块连续内存空间地址,该方法会循序...
分类:
其他好文 时间:
2014-09-06 22:35:54
阅读次数:
275
HashMap是Java中使用最多的几种容器之一,和其他List、Set、Queue的各种实现相比,HashSet并没有实现Collection接口,而是实现的是Map接口。HashMap是基于哈希表的Map接口的实现,维护的一个个key -
value(键值对)的映射关系,通过使用哈希算法使得对容器中的元素访问更加迅速。在推出HashMap之前,JDK中使用的哈希实现是HashTable,H...
分类:
其他好文 时间:
2014-09-06 02:15:02
阅读次数:
223
public partial class TestRefresh : ProAspNet20.CS.Components.Page
{
protected void AddContactButton_Click(object sender, EventArgs e)
{
Msg.InnerText = "Added";
if (!this.IsRefreshed)
AddRecord(FName.Text, LName.Text);
else
Msg.InnerText = "Page re...
分类:
Web程序 时间:
2014-09-04 14:57:19
阅读次数:
317