hashmap相关内容
考虑以下 Java 源代码: if(agents != null) {for( 迭代器 iter = agent.keySet().iterator(); iter.hasNext(); ) {//使用 iter.next() 的代码 ...//}} agents 是一个 HashMap. 为什么 for 语句有时会抛出 NullPointerException? 谢谢. 解
..
我正在使用 HashMap,但我无法直接回答 get() 方法在发生冲突时如何工作. 假设 n >1 个对象被放置在同一个 key 中.它们是否存储在 LinkedList 中?它们是否被覆盖,以便仅放置在该键中的最后一个对象不再存在?他们是否使用了其他碰撞方法? 如果将它们放在 LinkedList 中,有没有办法检索整个列表?如果没有,是否有其他的 Java 内置地图可供我执行此操
..
我正在使用一个提供 XML 的 API,我需要从一个实际上是字符串的标签中获取地图.示例: 拥有 Billable=7200,Overtime=false,TransportCosts=20$ 我需要 ["Billable"="7200","Overtime=false","TransportCosts"="20$"] 问题是字符串是完全动态的,所以,它可以像 Overtime=t
..
今天我正在做一些寻路,当我不得不使用 contains() 来查找一个类 Coord 是否在另一个 keySet() 坐标.我发现当我使用预制方法 containsKey() 时,它根本无法按我的意愿工作.我做了一个测试以了解发生了什么,结果如下: HashMaptest = new HashMap();test.put(新坐标(3, 3), 新坐标(0, 0));S
..
我试图理解为什么 String 和 Stringbuilder/StringBuffer 在用作 Hashmap 键时会被区别对待.让我通过以下插图更清楚地说明我的困惑: 示例 #1,使用字符串: String s1 = new String("abc");字符串 s2 = new String("abc");HashMap hm = new HashMap();hm.put(s1, 1)
..
我知道这取决于系统中的可用内存,也取决于良好的哈希函数,但总的来说,我想知道您使用过的最大映射是什么,以及它是否运行良好盒子或需要任何调整以使其正常工作. 解决方案 Java 中的 HashMap 最多可以有 2^30 个桶来存储条目 - 这是因为使用了桶分配技术java.util.HashMap要求bucket的个数是2的幂,由于Java中int是有符号的,所以最大正值是2^31 - 1
..
嘿,我正在使用 HashMap 来跟踪公告板上的服务和服务请求.但是,我必须有哈希码和等于错误,因为我得到了重复的键.谁能告诉这可能是为什么? keySet的内容: 服务:[1, 1, 6, 6, 3]请求:[8、7、6、5、8、4、5、6、2] 以下是相关代码: private static final HashMap服务 = 新哈希映射();...公共类广告{私有整数 ID;私
..
查看代码,特别是第 393 行,看起来不同的哈希值已映射到同一个索引.我的理解是哈希码用于确定要使用 HashMap 中的哪个桶,并且桶由具有相同哈希码的所有条目的链表组成.他们为什么要检查 e.hash == hash ? public V put(K key, V value) {如果(键 == 空)返回 putForNullKey(值);int hash = hash(key.hashCo
..
我只想使用一些并发的 Set(似乎根本不存在).Java 使用 java.util.concurrent.ConcurrentHashMap 来实现该行为.我想在 Scala 中做类似的事情,所以我创建了 Scala HashMap(或 Java ConcurrentHashMap)的实例并尝试添加一些元组: val myMap = new HashMap[String, Unit]()myMa
..
我有一个 array-map 我正在 asoc 将一些值放入其中.在一定大小之后,返回的值是 PersistentHashMap 而不是原来的 PersistentArrayMap.我在一些网站上读到过这种行为.即使在 assoc 之后,有什么方法可以强制插入顺序? 我确实有一个单独的函数,它将接受一个 ash-map 和一个键向量,并按此顺序返回一个带有键的“新鲜" array-map,但
..
我在使用自己的类作为 HashMap 的键时遇到问题 公共类 ActorId {私人最终 int playerId;私有最终 int id;ActorId(int playerId,int id){this.playerId = playerId;这个.id = id;}公共布尔等于(ActorId 其他){返回 this.id == other.id &&this.playerId == o
..
我正在创建一个新地图并将字符串推入其中(没什么大不了的)-但我注意到随着地图的增长,字符串正在重新排序.是否可以停止这种重新排序,以便地图中的项目保留放置时的顺序? Mapx = new HashMap();x.put("a","b");x.put("a","c");x.put("a","d");x.put("1","2");x.put("1","3");x.pu
..
所以我在这里问了另一个相关问题:java string hash function with avalanche effect,但我现在有一个不同的相关问题. 我在那个问题中确定的是 String 的 hashCode() 函数没有雪崩效应.这意味着,例如,如果我有字符串“k1"、“k2"、“k3",并且我在每个字符串上调用 hashCode(),则返回的值将是连续的. 现在,根据我对
..
我有一个 hashMap,它具有以下值作为键 value(sql date , integer) 对: a.put("31-05-2011",67);a.put("01-06-2011",89);a.put("10-06-2011",56);a.put("25-05-2011",34); 当我尝试使用基于键对 hashMap 进行排序时:Map modified_a=new TreeMap(a
..
假设我们有一些代码 类 WrongHashCode{公共 int 代码=0;@覆盖公共 int hashCode(){返回码;}}公共类重新散列{公共静态无效主(字符串 [] args){//初始容量为2,负载率75%HashMaphashMap=new HashMap(2,0.75f);WrongHashCode wrongHashCode=new
..
我想知道是否可以将 HashMap 拆分为更小的子图. 在我的例子中,我有一个 100 个元素的 HashMap,我想从原始元素创建 2 个(或更多)更小的 HashMap,第一个包含 0 到 49 的条目,第二个包含 50 到 99 的条目. 映射 bigMap = new HashMap ();//应该包含 'bigMap' 的 0 到
..
Go 编程语言规范 说: 3.未指定映射的迭代顺序.[...] 这是意料之中的,因为地图类型可以实现为哈希表、搜索树或其他一些数据结构.但是 map 是如何在 Go 中实际实现的呢? 换句话说,是什么决定了中键的迭代顺序 for k, _ := range m { fmt.Println(k) } 在我看到带有 string 键的地图显然 do 具有一定的迭代顺序后,我开始对
..
我正在尝试将 Maia 包中的一些 matlab 代码转换成可以使用的东西与八度.我目前陷入困境,因为其中一个文件对 containers.Map 进行了多次调用,这显然是具有 尚未在 octave 中实现.有没有人有任何想法可以轻松实现类似的功能,而无需在 octave 中做大量额外的工作?感谢大家的宝贵时间. function [adj_direct contig_direct 重叠名称lo
..
我只是在阅读 Java 中 HashMap 和 HashTable 类之间的区别.在那里我发现了一个区别,前者允许空键,而后者不允许相同的权限.就 HashMap 的工作而言,我知道,它在 key 上调用 hashcode 方法来查找要放置该键值对的存储桶.我的问题来了:如何计算空值的哈希码或空键的哈希码是否有任何默认值(如果有,请指定值)? 解决方案 from HashMap: pub
..
我正在使用许多 LinkedHashMap,它们是 LinkedHashMap、LinkedHashMap 或 LinkedHashMap. 我的目标是找到或创建一个方法,该方法将返回一个 List,其中包含上述 LinkedHashMap 中的所有键顺序相同.排序很重要,这就是为什么我认为我不能使用 myM
..