当前位置:  技术问答>java相关

HashTable是个什么东东?

    来源: 互联网  发布时间:2015-11-08

    本文导语:  怎么用? 又是在哪中应用中用得上呢? | 在java中,提供了一个散列表类Hashtable,利用该类,我们可以按照特定的方式来存储数据,从而达到快速检索的目的。本文以查询股票的收盘数据为例,详细地说...

怎么用?
又是在哪中应用中用得上呢?

|
在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(); 
//清空整个散列表

|
哈希表,由HASHCODE产生,很多地方用的着的!

|

|
简单的说,就是存放一些键值对,put的第一个参数为键,第二个为值

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.util类hashtable<k,v>的类成员方法: hashtable定义及介绍
  • Hashtable问题,方法中返回的Hashtable的capacity发生变化
  • java命名空间java.util类hashtable<k,v>的类成员方法: clear定义及介绍
  • Hashtable
  • java命名空间java.util类hashtable<k,v>的类成员方法: rehash定义及介绍
  • 遍历Hashtable 的几种方法
  • java命名空间java.util类hashtable<k,v>的类成员方法: tostring定义及介绍
  • 请问怎样遍历一个hashtable
  • java命名空间java.util类hashtable<k,v>的类成员方法: clone定义及介绍
  • about Hashtable
  • java命名空间java.util类hashtable<k,v>的类成员方法: keys定义及介绍
  • Hashtable的用法
  • java命名空间java.util类hashtable<k,v>的类成员方法: isempty定义及介绍
  • hashcode()和hashtable()方法是作什吗用的?(就剩3分了)
  • java命名空间java.util类hashtable<k,v>的类成员方法: elements定义及介绍
  • 请教:请问java中存放数据库中的记录,用什么数据结构?(hashtable?vector?还是别的?)
  • java命名空间java.util类hashtable<k,v>的类成员方法: containsvalue定义及介绍
  • 在线等待:如何将long型数据转化为String型?或者如何将两个long型数据put进HashTable中?
  • java命名空间java.util类hashtable<k,v>的类成员方法: hashcode定义及介绍
  • JAVA里哪一个数据结构库(hashtable,vector等)支持一对多的关系?
  • java命名空间java.util类hashtable<k,v>的类成员方法: putall定义及介绍
  • 请问自己定义的对象如何使用Hashtable存取?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3