AD: jr (at) javaresearch.org
首页
|
动态
|
文章
|
FAQ
|
新闻
|
下载
|
代码
|
工作
|
调查
|
术语
|
站点
|
图书
|
论坛
|
帮助
|
全部
TOP
|
交流
|
软件
|
专栏
|
开源
|
译/著
|
源码
|
API
|
推荐
|
FTP
|
积分
|
统计
|
搜索
|
Blog
|
我们
首页
»
研究文集
»
Java语言深入
搜索标题相关文章
发表评论
开始监控
加入收藏夹
java中散列桶的应用原理
sheldonsun
原创 更新:2006-10-25 14:06:55 版本: 1.0
java容器类中HashSet, HashMap都是基于散列值进行操作, 存储对象的, 已达到快速查询的目的。
我们知道数组的查询速度比自己实现的列表等数据结构的查询速度快:因为数组的查询是通过地址的查询, 而链表则需要遍历整个数据结构, 我们甚至可以把数组理解成为一个JAVA内置实现的容器类(存储类型固定的), JAVA的HASH容器类的实现也正式基于这个原理。
在每一个HAHS实现的初始化部分会创建一个数组, 每一个加入到HashSet(HashMap 中KEY部分)的OBJECT都必须实现OBJECT的HashCode 方法以产生一个Hash值,HashSet(HashMap 中KEY部分)利用该值当作数组的下标生成一个类似链表的数据结构, 并把该对象添加到这个数据结构中。
当执行HashSet的contains(Object)等方法的时候, 会首先计算期HASH值, 然后找到相应的数据结构, 并对其中存储的对象利用EQUALS()方法进行判断相等性。
JAVA所有的类都继承OBJECT这一点功能比较有预见性!
版权声明
给作者写信
本篇文章对您是否有帮助? 投票:
是
否
投票结果:
9
1
作者其它文章:
java 泛型 - 类
java 泛型?基本使用
Hibernate - persistent class and integration with j2ee
Hibernate - Inheritance strategy
有趣的List
作者全部文章
评论人:
hyd16888
发表时间: Fri Nov 10 08:36:33 CST 2006
讲的简单明了
评论人:
mrou2001
发表时间: Thu Dec 07 14:34:09 CST 2006
加油啊,支持[java]
这个文章共有
2
条评论
上一篇文章
返回〔Java语言深入〕
下一篇文章
文字广告链接
自主、快速定制基于JAVA的B/S业务系统
重量级企业在线自定义WEB报表平台
Excel制表、零代码发布、打印、图表结合——快逸报表,免费、稳定、功能强大的java工具
技术圈: 关于Java、dotNet、PHP、Ruby、奇客、Web2.0等更多
资讯
和
博客精选文章
关于 JR
|
版权声明
|
联系我们
©2002-2006 JR 版权所有
沪ICP备05019622号