草庐IT

哈希表(HashTable)

全部标签

java - 哈希表Java插入

我是Java的新手,正在尝试学习哈希表。我想将对象插入到我的哈希表中,然后能够在最后打印哈希表中的所有对象。我不确定我这样做是否正确,因为我读到我需要覆盖get()方法或hashCode()方法,但我不确定为什么。我正在传递学生姓名的String对象。当我在插入后运行调试器时,它将键显示为“null”,并且我插入的索引位于哈希表中的随机位置。前任。1,6,10这就是我一直在添加的方式。谁能告诉我这是否正确,我真的需要重写吗?提前致谢!代码HashtablehashTable=newHashtable();hashTable.put("Donald","Trump");hashTable

java - HMC SHA1 哈希 - Java 生成与 C# 不同的哈希输出

这是this问题的跟进,但我正在尝试将C#代码移植到Java,而不是将Ruby代码移植到C#,就像相关问题中的情况一样。我正在尝试验证从Recurly.jsapi返回的加密signature是否有效。不幸的是,Recurly没有Java库来协助验证,所以我必须自己实现签名验证。根据上述相关问题(this),以下C#代码可以生成验证从Recurly返回的签名所需的哈希值:varprivateKey=Configuration.RecurlySection.Current.PrivateKey;varhashedKey=SHA1.Create().ComputeHash(Encoding.

java - 使用 Java 字典...使用哈希表?

我有点惊讶没有人问过这个具体案例,因为它在java标准库中有点奇怪的不一致:我正在使用带有自定义标签的swingJSliders;唯一可用于分配标签的库调用是:setLabelTable(Dictionarylabels)但Dictionary是一个抽象类,它在标准库中唯一已知的子类是Hashtable,API和各种IDE提示它“过时”。显而易见的事情就是使用哈希表,但我想知道两件事:有没有更好的方法来解决这个问题?如果Hashtable是唯一的这个(在我看来)相当重要的库的可用类调用,它在什么基础上“过时”?谢谢! 最佳答案 它已

java - 当我们在 Collections.synchronizedMap() 中传递哈希表时会发生什么

今天我在面试中问了一个问题。问题是Collections.synchronizedMap()是用于同步map,默认情况下它不像hashmap那样是线程安全的。他的问题是我们可以在这个方法中传递任何类型的map。那么当我们在该方法中传递哈希表时会产生什么效果,因为哈希表默认情况下是同步的。 最佳答案 map的行为将是相同的,但性能会受到影响,因为每个方法将获取两个同步锁而不是一个。例如,考虑在生成的map上调用方法size()。Collections.SynchronizedMap类中的实现如下所示:publicintsize(){s

java - 查找以哈希开头和结尾的句子

我正在研究检测以主题标签开头和结尾的句子。截至目前,我只有用于查找单词的代码,这是该机制的一部分。如何根据以下情况找到句子。案例一:Hello,#howareyou#today.在这种情况下,我想检测你好吗。现在如果只有一个单词,那么上面的情况就可以忽略了。案例二:Hello,#howareyou#today.在这种情况下,只找到单词#how和#today,我已经在处理这些单词。这里没有句子,因为单词不以标签结尾。代码:@OverridepublicListfindHashTags(Stringtext){if(text==null){returnnewArrayList();}Str

java - 用于 Jersey 使用的(哈希) map 的序列化程序?

我正在尝试将以下有效负载发布到我基于Jersey的Web服务:{"firstname":"Jimmy","lastname":"Johns","addresses":[{"street":"19MayberryDrive","city":"Mayberry","state":"nc","postalcode":"27043","country":"us","addresstype":1}],"data":{"eyes":"blue","hair":"brown","sandwich":"roastbeef"}}我的Jersey代码:@POSTpublicResponsecreate(P

java - 哈希码的理解

哈希函数在实现哈希表中很重要。我知道在java中对象有它的哈希码,它可能是由弱哈希函数生成的。下面是一段“补充哈希函数”staticinthash(Objectx){inth=x.hashCode();h+=~(h>>14);h+=(h>>10);returnh;}谁能帮忙解释一下哈希算法的基本思想是什么?生成非重复整数?如果是这样,这些如何按位运营成功了吗? 最佳答案 散列函数是任何定义明确的过程或数学函数,可将大量可能可变大小的数据转换为小数据,通常是可用作数组索引的单个整数。哈希函数返回的值称为哈希值、哈希码、哈希和、校验和或

java - 将哈希函数委托(delegate)给 hibernate 中未初始化的委托(delegate)会导致更改哈希代码

我对使用hibernate委托(delegate)给未初始化对象的hashCode()有问题。我的数据模型如下所示(以下代码经过高度修剪以强调问题并因此损坏,请勿复制!):classCompound{@FetchType.EAGERSetparts=newHashSet();StringsomeUniqueName;publicinthashCode(){finalintprime=31;intresult=1;result=prime*result+((getSomeUniqueName()==null)?0:getSomeUniqueName().hashCode());retur

java - 哈希表问题

我有一个有趣的问题,它需要使用Hashtables;我正在为诺基亚的S40开发(符合级别1.4)我希望Hashtable工作的方式:Hashtabletable=newHashtable();table.put(1,"HelloWorld");但是我得到了错误:Themethodput(Object,Object)inthetypeHashtableisnotapplicableforthearguments(int,String)但是,当我创建一个对象引用并传递该引用时,它工作正常!为什么?!工作示例:Hashtabletable=newHashtable();Integertest

java - Delphi 中有哈希数组吗?

我正在学习Delphi,但喜欢在Perl和Java中使用哈希数组。Delphi中是否有比较数据结构?我知道可以将TStringList用作哈希数组:varmyHash:TStringList);beginmyHash:=TStringList.Create();myHash.values['color']:='blue';Showmessage(myHash.Values['color']);//bluemyHash.free;end;是否有可能在Delphi中构建更复杂的数据结构,如Perl的数组哈希等? 最佳答案 如果您使用的是