草庐IT

HashMap1

全部标签

java - 理解 java 8 中 HashMap 类的 hash() 方法的方法注释

/***Computeskey.hashCode()andspreads(XORs)higherbitsofhash*tolower.Becausethetableusespower-of-twomasking,setsof*hashesthatvaryonlyinbitsabovethecurrentmaskwill*alwayscollide.(AmongknownexamplesaresetsofFloatkeys*holdingconsecutivewholenumbersinsmalltables.)Sowe*applyatransformthatspreadstheimpa

java - 如何使用 MATLAB 数组作为 HashMap java 对象的键?

put函数可以正常工作,但get函数不能。显然我不知道诀窍。>>X=[1,2,3];>>M=java.util.HashMap;>>M.put(X,1);>>M.get([1,2,3])ans=[]我搜索并阅读了很多帖子,但找不到解决此问题的方法。如果有人能告诉我诀窍就太好了。 最佳答案 我认为问题在于Java原始数组没有为您提供正确的equals()和hashCode()。它们使用标准的Object方法,通过对象标识而不是包含的值进行比较。在HashMap中使用非标量数组作为键时,Matlab会将它们转换为double[],但它们

java - alt-rt.jar 和 rt.jar 中 HashMap 的区别?

alt-rt.jar中的HashMap有什么区别和rt.jar。我想我看到了相当大的加速在我的一个应用程序中,解释是什么?最好的问候P.S.:我发现了两个不同的*.jar在JDK1.6.0_2564位中。最终加速也与alt-string.jar有关。这个alt最终可能与一个命令行选项:http://thevirtualmachinist.blogspot.com/2010/09/xxusecompressedstrings.html但我更感兴趣的是了解alt-rt.jar,我从上面的文章说有一个命令行与之相关的选项。 最佳答案 al

Java:有没有有效结合HashMap和ArrayList的容器?

我一直发现需要一个既是HashMap(用于快速查找键类型)又是ArrayList(用于通过整数索引快速访问)的容器.LinkedHashMap几乎是正确的,因为它保留了一个可迭代列表,但不幸的是它是一个链接列表...检索第N个元素需要从1迭代到N.是否有一种容器类型符合此要求但我不知何故错过了?当其他人需要通过键和通过索引访问同一组数据时,他们会怎么做? 最佳答案 看看ApacheCommonsLinkedMap. 关于Java:有没有有效结合HashMap和ArrayList的容器?,

java - 在泛型类中删除所有 HashMap 类型值?

为什么下面的不编译?编译器为+给出错误签到打印行。publicclassTest{HashMapm=newHashMap();publicstaticvoidmain(String[]args){Integerzero1=0;Integerzero2=0;Testt=newTest();t.m.put(1,zero1);t.m.put(2,zero2);System.out.println(t.m.get(1)+t.m.get(2)==t.m.get(2));}}我理解类型删除,但m是一个HashMap,它不应该取决于类型根本。为什么编译器拒绝这个?删除第一行允许编译,但我不明白为什么

java反射创建字段/值 HashMap

我需要创建包含在实体中的字段/值的Hashmap,这样我就可以使用它们在包含带有字段名称的标签的字符串中替换它们。我有这个代码:publicstaticStringreplaceTags(Stringmessage,Maptags)...用tags中的等效值替换message中找到的所有标签,但为了构建Maptable我需要采取“任何”实体,并能够从该实体创建map。那么,我怎样才能做到这一点呢?获取我发送实体并返回包含所有字段和值的映射的例程。publicstaticMapgetMapFromEntity(Objectentity){Mapmap=newHashMap();...??

java - 如何将所有 Java 系统属性转换为 HashMap<String,String>?

这nicearticle向我们展示了如何将所有当前系统属性打印到STDOUT,但我需要转换System.getProperties()中的所有内容到HashMap.因此,如果有一个名为“baconator”的系统属性,其值为“yes!”,我用System.setProperty("baconator,"yes!")设置了它。,那么我想要HashMap拥有baconator的key和相应的值yes!等。所有系统属性的想法相同。我试过这个:PropertiessystemProperties=System.getProperties();for(StringpropertyName:sys

java - Java 8's HashMap misbehaves if the keys implement Comparable in a way that isn' t 与equals一致是不是bug?

我知道从Java8开始,如果HashMap有足够多的哈希冲突,并且键实现了Comparable,它会useabalancedtreeinsteadofalinkedlistforthebin.但据我所知,Comparable接口(interface)doesnotrequirecompareTo()应“与equals()一致”(尽管强烈建议这样做)。我错过了什么吗?似乎新的实现允许HashMap违反Map接口(interface)的要求,如果键恰好具有兼容但不推荐的Comparable实现。以下JUnit测试在OpenJDK8u72上暴露了此行为:importstaticorg.jun

java - HashMap 顺序在使用 Thread 时发生变化,但在没有 Thread 时保持不变

我知道HashMap不保证顺序。考虑以下代码:importjava.util.HashMap;importjava.util.Map;publicclassSandBox{protectedstaticclassBook{Stringname;publicBook(Stringname){this.name=name;}@OverridepublicStringtoString(){returnname;}}protectedstaticclassMyThreadextendsThread{@Overridepublicvoidrun(){super.run();finalintn=1

java - Java中的HashMap.values()方法返回的集合是什么?

JavaSE6.0API表示java.util.HashMap中的values()方法返回一个Collection类型。JVM如何决定在运行时返回哪个集合。它是特定于jvm的还是有Java遵循的任何一般准则。我浏览了HashMap的源代码,但找不到任何线索。非常感谢任何帮助,或者如果问题很蹩脚,请指出原因。谢谢。 最佳答案 你可以在源代码中看到:publicCollectionvalues(){if(values==null){values=newAbstractCollection(){...他们实际上给出了AbstractCol