社区
Java SE
帖子详情
小妹请教hashtable
ygoodluck
2004-05-08 07:57:26
最近有关 在老师的逼迫下开始编写有关程序,其中有用到hashtable 。现在请教各位大侠
就是一般在创建hashtable 的时候总是要有hash函数的么,比如什么hash(i)=i mod 2什么的 ,在hashtable 中是不是默认得hash函数的阿 ,要是默认得 很想知道到底是一个什么样的函数的那 我自己到JDK SRC下面的hashtable 中去看了 但是没有看懂得 呵呵 小女子请教了 谢谢谢诶:)
...全文
100
7
打赏
收藏
小妹请教hashtable
最近有关 在老师的逼迫下开始编写有关程序,其中有用到hashtable 。现在请教各位大侠 就是一般在创建hashtable 的时候总是要有hash函数的么,比如什么hash(i)=i mod 2什么的 ,在hashtable 中是不是默认得hash函数的阿 ,要是默认得 很想知道到底是一个什么样的函数的那 我自己到JDK SRC下面的hashtable 中去看了 但是没有看懂得 呵呵 小女子请教了 谢谢谢诶:)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hiking
2004-08-19
打赏
举报
回复
老大,那人说的是数据结构中的哈希表,不是java中的类。
活见鬼,怎么有人这么问?
appleangle
2004-08-19
打赏
举报
回复
hash函数的算法不是容易理解的东西,而且有的就理解不了。会用就够了
longjing_g
2004-08-19
打赏
举报
回复
up
girlsjj
2004-08-19
打赏
举报
回复
object 类(所有类的基类,应该知道的,哦)
里面有个hashcode()函数,一般类会继承或者重写这个函数
hashmap 继承
hashtable 重写
不见得你自己要写一个,但是创建hash表一定要有这么个函数。(不然怎么叫哈希表,对不?)
以hashtable为例。用户给出键值和存储值,但hashtable不会直接用这个键值。他会使用hashcode(key),计算得到key的散列值,作为键值放入hash表中。
至于jdk中hash函数的算法,刚开始用,不用研究这么深吧。呵呵,偶也不知道
stonecsdn
2004-05-08
打赏
举报
回复
呵呵,没有看过,应该是默认的,具体实现不知道
realwf
2004-05-08
打赏
举报
回复
有默认的hash函数,是hashCode(),对每个Key产生一个不重复的值(使用对象的地址),你可以重写。
可以测试
class A{}
...
A a = new A();
A b = new A();
System.out.println("a=", a.hashCode());
System.out.println("b=", b.hashCode());
KevinListening
2004-05-08
打赏
举报
回复
仔细看看Thinking in Java
HashMap和
Hashtable
的区别(绝对经典)
相同点: hashmap和
Hashtable
都实现了map接口 不同点:
Hashtable
是不允许键或值为 null 的,HashMap 的键值则都可以为 null。 实现方式不同:
Hashtable
继承了 Dictionary类,而 HashMap 继承的是 AbstractMap 类。 初始化容量不同:HashMap 的初始容量为:16,
Hashtable
初始容量为:11,两者的负载因子默认都是:0.75。 扩容机制不同:当已用容量>总容量 * 负载因子时,HashMap 扩容规则为当前
HashMap 与
HashTable
的区别
HashMap 与
HashTable
的区别 HashMap与
Hashtable
的区别是面试中经常遇到的一个问题。这个问题看似简单,但如果深究进去,也能了解到不少知识。本文对两者从来源,特性,算法等多个方面进行对比总结。力争多角度,全方位的展示二者的不同,做到此问题的终结版。 1 作者
Hashtable
的作者: HashMap的作者: Hash Map的作者比Hashta...
HashMap 与
HashTable
区别
HashMap和
Hashtable
线程安全性HashMap是非线程安全的,而
Hashtable
是线程安全的。性能:由于没有同步开销,HashMap在单线程环境中的性能优于
Hashtable
。Null键和Null值HashMap允许一个null键和多个null值,而
Hashtable
不允许null键和null值。继承关系HashMap继承自并实现了Map接口,而
Hashtable
继承自Dictionary类,属于Java的早期类。迭代器机制HashMap使用Fail-Fast迭代器,而。
Hashtable
如何保证线程安全
Hashtable
如何保证线程安全前言
Hashtable
中的常用变量
Hashtable
中的常用方法构造方法contains()rehash()addEntry()put()其他方法
Hashtable
与HashMap的区别 前言 HashMap是非同步的,没有对读写等操作进行锁保护,是线程不安全的。
Hashtable
是同步的,所有的读写操作都进行了锁保护,是线程安全的。
Hashtable
的底层是数组+链表实现的
Hashtable
中的常用变量 private transient Entry<?,?&
深度解析
Hashtable
工作原理
Hashtable
位于java.util包下,是一个实现了Map接口的类。它主要用于存储键值对,其中键和值都不能为null。
Hashtable
的主要用途是在多线程环境下,提供线程安全的键值对存储和查找功能。
Hashtable
是 Java 中一个经典的键值对存储数据结构,它通过哈希表(数组 + 链表)实现了高效的键值对存储和查找。通过关键字保证了线程安全,但也带来了一定的性能开销。在使用
Hashtable
时,需要注意键和值不能为null,以及根据实际场景选择合适的并发方案。深入理解
Hashtable
。
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章