收藏网站
  设为首页
用户名: 密码: 验证码: 看不清?  站内搜索:  
首  页 Java培训 企业培训 课程介绍 就业情况 人才外包 新闻与文章
新闻与文章
   
   查看文章
   查看小贴士
   查看新闻
Java集合中的几种数据结构(四)
田雪松
发布时间:2008-05-24 13:46:01    浏览次数:129       类别:Java技术
  上一讲我们介绍了红黑树,下面介绍一下哈希表。

  哈希表简单来说就是通过某种算法,直接将元素存储到内存的某一位置上。所以这里就有一个问题,如果两个元素恰好被分配到了同一个位置上,那么应该怎么办?这种问题被称为哈希冲突,哈希表必须提供哈希冲突的解决方案。Java中哈希冲突的解决方案是这样的,如果两个元素被分配到了同一个位置上,那么就让这两个元素建立一个链表,然后以链表的形式存储在这个位置上。

  如果我们想找到前面存储到哈希表中的元素,应该如何知道它被分配到哪个位置上呢?这就要求,同一个元素每次被分配到哈希表中的位置应该是固定的。这样才有可能再次将它找回。元素的存储位置就是通过Object对象中定义的hashCode()方法决定的,所以hashCode()方法必须要针对同一对象返回固定的值,而针对不同的对象尽可能返回不同的值。但我们也知道,由于有可能将两个不同的元素分配到同一个位置上,当在一个位置上有多个元素时,我们怎么知道哪一个是我们要的元素呢?这时候就要依靠Object的equals方法了。如果有多个元素时,就一个一个比较,看哪一个元素是我们要的元素。

  Java中使用到哈希表的集合有HashMap和HashSet等,它的优点是查找快速。
在线咨询
 武老师: 点击这里给我发消息
 代老师: 点击这里给我发消息
 
电话咨询
 报名热线:010-62320869
电子邮件
 Email:consult@sodii.com
资源下载
  入学测试题
  报名登记单
  Java基础视频
  Struts视频
  Hibernate视频
  Spring视频
  PLSQL视频
  Hibernate讲义
  Spring讲义
乘车路线
1、乘坐47、386、836、753、740、983、656、944、运通109、运通113等,在学院桥东下车,路北白色大楼即是科群大厦;
2、乘坐375、438、386、743、748、398、392等,到北航下车,向北步行200米至学院桥,学院桥东北角即是科群大厦;
3、西站下车,可直接乘坐47路到学院桥东;北京站下车,坐2号线地铁至东直门,换乘375在北航下车

联系电话:010-62320869│QQ:453493255│电子邮件:consult@sodii.com 地址:北京市海淀区学院路30号科群大厦214室
Copyright (C) 2007-01 All Rights Reserved 松迪科技(北京)有限公司
京ICP备  07019912号