问题标签 [keyset]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 对 keySet 的 Java 迭代
我有以下 Java 代码:
我收到来自“findBugs”的警告,告诉我以下内容:
方法myMethod
使用 keySet 迭代器而不是 entrySet 迭代器效率低下。警告是在tmpList
分配时完成的。
我不明白为什么这是低效的。事实上,该keys
列表只计算一次。任何意见?谢谢。
ruby - Ruby - 哈希不存储密钥
我在 irb 中执行了以下操作:
为什么一旦我将密钥添加"a"
到哈希中,它就不会出现在结果中Hash#keys
?
谢谢
java - WeakHashMap 的 keySet 条目永远不会为空吗?
如果我遍历 WeakHashMap 的键集,是否需要检查空值?
换句话说,WeakHashMap 的元素可以在我迭代它们时被收集吗?
编辑
为了这个问题,可以假设null
哈希图中没有添加任何条目。
java - Java:HashMap 声称它有密钥,但不知何故没有
我有一个 HashMap 将我的 Context 类的对象映射到整数。在 Context 类中,我确实覆盖了 java.lang.Object 的 public int hashCode() 和 public boolean equals(Object c)。但是,我在遍历它时遇到问题:
我想要(例如)获取分配给每个 Context 对象的整数值,所以我遍历映射的键集。但它不起作用,因为地图说它没有指定的键:
输出是
据我了解,当给定一个键时,映射首先检查哈希码是否匹配,然后检查是否相等。两者都是这种情况,'to'对象的哈希码和键集中的第一个对象匹配并且它们也相等。有趣的是,当我将 hashCode() 函数的返回值更改为常量(这是有效的,但出于性能原因不推荐)时,它可以工作。但我不明白为什么这会有所不同,因为 156349==156349 就像 7==7 一样。
我很困惑,我担心我错过了一些非常明显的东西,只是看不到它。如果是这样的话,我感到羞耻,但我仍然希望得到提示:-)
非常感谢!
java - 避免 map.get(key) 方法
我有以下代码,但我看到在迭代 Map 键时从 Map 中检索值keySet()
是一个错误,即使使用 findBugs 我收到警告WMI_WRONG_MAP_ITERATOR
那么为什么这不好,我该如何解决呢?
谢谢。
java - Map.keySet() 和 Set.addAll 抛出 NullPoniterException
这是一个旧代码,正在调试它。我有一个Map
大小为 2 的(myMap)(当然)。键是null
和1
。
此while
循环仅迭代一次。我不确定这里有什么问题。有什么问题吗?
请帮我。提前致谢。
更新:
现在我在异常以下mySet.addAll(myMap.keySet());
java - java集合 - 地图中的keyset()与entrySet()
我把一个字符串数组元素是一个映射,其中字符串数组的元素是键,单词的频率是值,例如:
那么地图将有类似的条目[ if:1, it:2 .... ]
打印所有键:"if","it","is","to","be","it","is","up","me","to","delegate"
打印所有键值对:
使用 entry set 打印所有值:
但是下面的代码块应该打印与上面完全相同的输出,但它没有:
它打印:
但是如果我们在 while 循环中取消注释第 1 行,即
并评论该行
然后我们得到所有的键:{"if","it","is","to","be","it","is","up","me","to","delegate"};
如果我们使用m.get()
with itr2.next()
,那么迭代器没有几个键!
java - 将 hashmap 转换为 stringarray
我正在尝试将哈希图转换为数组,我可以将其放入创建的字符串数组中。然而,我得到了 java.lang。我已将我的 Drinkar.keySet().toArray() 类型转换为 String[],但它仍然无法正常工作。
lua - lua:检索表中的键列表
我需要知道如何在 lua 中检索表的键集。例如,如果我有下表:
我想检索一个如下所示的表:
c++ - Find Algorithm over Map Keyset (c++)
Is there a way to use the .find(itr, itr, value) algorithm over the keyset of a map? I know you could use an iterator over the map to transfer the key values into a set (and then use that), but I wasn't sure if there was a quicker way to do so.