HashTable是个什么东东? 哈希表,由HASHCODE产生,很多地方用的着的! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 哈希表是也,和数组差不多的一种数据结构.比如有几个人,分别有大名和小名,大名和小名是一一对应的.那么就可以用hashtable.假设以大名做标志,存小名,那么就是:Hashtable ht = new Hashtable();ht.put("大名","小名");取小名时:Object o = ht.get("大名"); 能put很多吗?好像和Vector很像 在java中,提供了一个散列表类Hashtable,利用该类,我们可以按照特定的方式来存储数据,从而达到快速检索的目的。本文以查询股票的收盘数据为例,详细地说明java中散列表的使用方法。 一、散列表的原理 散列表,又称为哈希表,是线性表中一种重要的存储方式和检索方法。在散列表中,可以对节点进行快速检索。散列表算法的基本思想是:由结点的关键码值决定结点的存储地址,即以关键码值k为自变量,通过一定的函数关系h(称为散列函数),计算出对应的函数值h(k)来,将这个值解释为结点的存储地址,将结点存入该地址中,检索时,根据要检索的关键码值,用同样的散列函数计算出地址,然后,到相应的地址中去获取要找的结点数据。因此,散列表有一个重要特征:平均检索的长度不直接依赖于表中元素的个数。 散列表最重要的一个指标是负载因子,即散列表中结点数目与表中能容纳的总结点数的比值,它描述了散列表的饱和程度,负载因子越接近1.0,内存的使用效率越高,元素的寻找时间越长,同样,负载因子越接近0.0,元素的寻找时间越短,但内存的浪费越大。Hashtable类缺省的负载因子为0.75. 二、Hashtable类 Hashtable类为我们提供了散列表完整的功能,可以让我们很方便地构造和使用散列表,查询信息。 1.创建散列表对象 Hashtable类的构造器主要有下面几种形式: public Hashtable(int initialCapacity, float loadFactor); public Hashtable(int initialCapacity); public Hashtable(); 在本文的实例中,我们使用了最简单的一种: Hashtable stockInfo = new Hashtable(); 2.充填数据 当构造了Hashtable对象后,我们就可以将数据填入该对象中,以便以后查询。Hashtable类提供了put方法来完成数据的装填,其原型如下: public synchronized Object put(Object key, Object value); 3.查询数据 查询数据可以使用get方法,其原型如下: public synchronized Object get(Object key) 4.其它常用的方法 public int size(); //返回散列表中的结点数目 public boolean isEmpty(); //判断散列表是否为空 public boolean containsValue(Object value); //判断散列表中是否含有某值 public synchronized boolean containsKey(Object key); //判断散列表中是否含有某个结点 public synchronized void clear(); //清空整个散列表 简单的说,就是存放一些键值对,put的第一个参数为键,第二个为值 调用模式往table里插入数据受阻 救命 java使用dom4j修改XML问题 为什么会出现越界? 求:四则运算的算法 AJAX div.innerHTML 赋值 在IE下经常暴掉,但在其他浏览器没有这个问题.郁闷..... 请问如何取得触发ChangeEvent事件的属性名? 搞java在深圳工资怎么样? 大哥大姐我在JScrollPane中放了一个JTable,我在表中添加行时,让滚动条移到最后但是就是差一行到最后. Java可以用于串口并口通信的应用么? SOCKET类 JAVA程序员,月薪大调查~~~~跟贴有分!!!! 哪有SQL SERVER的JDBC Driver 下载呢?
Hashtable ht = new Hashtable();
ht.put("大名","小名");
取小名时:
Object o = ht.get("大名");
好像和Vector很像
散列表,又称为哈希表,是线性表中一种重要的存储方式和检索方法。在散列表中,可以对节点进行快速检索。散列表算法的基本思想是:由结点的关键码值决定结点的存储地址,即以关键码值k为自变量,通过一定的函数关系h(称为散列函数),计算出对应的函数值h(k)来,将这个值解释为结点的存储地址,将结点存入该地址中,检索时,根据要检索的关键码值,用同样的散列函数计算出地址,然后,到相应的地址中去获取要找的结点数据。因此,散列表有一个重要特征:平均检索的长度不直接依赖于表中元素的个数。
散列表最重要的一个指标是负载因子,即散列表中结点数目与表中能容纳的总结点数的比值,它描述了散列表的饱和程度,负载因子越接近1.0,内存的使用效率越高,元素的寻找时间越长,同样,负载因子越接近0.0,元素的寻找时间越短,但内存的浪费越大。Hashtable类缺省的负载因子为0.75. 二、Hashtable类
Hashtable类为我们提供了散列表完整的功能,可以让我们很方便地构造和使用散列表,查询信息。
1.创建散列表对象 Hashtable类的构造器主要有下面几种形式: public Hashtable(int initialCapacity, float loadFactor);
public Hashtable(int initialCapacity);
public Hashtable();
在本文的实例中,我们使用了最简单的一种:
Hashtable stockInfo = new Hashtable();
2.充填数据
当构造了Hashtable对象后,我们就可以将数据填入该对象中,以便以后查询。Hashtable类提供了put方法来完成数据的装填,其原型如下: public synchronized Object put(Object key, Object value); 3.查询数据 查询数据可以使用get方法,其原型如下: public synchronized Object get(Object key) 4.其它常用的方法 public int size();
//返回散列表中的结点数目
public boolean isEmpty();
//判断散列表是否为空
public boolean containsValue(Object value);
//判断散列表中是否含有某值
public synchronized boolean containsKey(Object key);
//判断散列表中是否含有某个结点
public synchronized void clear();
//清空整个散列表