问题标签 [containskey]

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.

0 投票
6 回答
16657 浏览

java - 没有值的Java hashmaps?

假设我想将单词放入数据结构中,并且我想进行持续时间查找以查看单词是否在此数据结构中。我只想看看这个词是否存在。我会为此使用HashMap(containsKey()) 吗? HashMaps 使用键-> 值配对,但在我的情况下,我没有值。当然我可以使用 null 作为值,但即使是 null 也会占用空间。似乎这个应用程序应该有一个更好的数据结构。

该集合可能被多个线程使用,但由于集合包含的对象不会改变,我认为我没有同步/并发要求。

谁能帮我吗?

0 投票
4 回答
11705 浏览

c# - 自定义类用作字典中的键但未找到键

我有一个类,如下所示,它用作Dictionary<ValuesAandB, string> 我在尝试在此字典中查找任何键时遇到问题的键,它根本找不到它。如您所见,我已经覆盖了Equalsand GetHashCode

寻找我正在使用的钥匙

还有什么我想念的吗?谁能指出我做错了什么?

在有人问之前,是的,这些值在字典中!

0 投票
1 回答
1225 浏览

java - Java TreeMap containsKey总是返回true?

我正在编写一个使用 TreeMap 接口的 Java 程序,但我遇到了 containsKey 的问题。即使我给 containsKey 一些我确定不在 TreeMap 中的东西,它也会返回 true。

这可能是什么原因?

提前非常感谢。

--

编辑:我正在编写一个程序来计算文本文件中单词的出现次数。单词被解析,每个单词都是一个类的新实例。在这些类中,equals 和 hashCode 方法被覆盖,因为即使它们是不同的对象,它们也需要被视为相等。

“文本”字段是一个包含单词文本的字符串。

0 投票
3 回答
921 浏览

c# - 添加项目后,字典在 ContainsKey 上返回 false

我有一个字典声明如下

我遇到了一些问题,它发现实例返回 false 作为 ContainsKey 方法的结果,并且从监视窗口中我确定该项目在那里。所以我创建了辅助方法

在我的调试会话中,我遇到了方法在 B 处退出的情况,有时我让 C 返回 true。有谁能够帮我?谢谢。

0 投票
3 回答
1243 浏览

java - 为什么 containsKey 没有找到密钥?

我有以下代码:

它输出“否”。换句话说,我将键值对添加到映射中,然后立即检查键是否存在并发现它不存在。为什么?

我仍然有钥匙的问题。下面的代码说每次我添加一个密钥时,我都会添加一个新密钥。我知道事实并非如此。

0 投票
6 回答
33099 浏览

java - Java HashMap.containsKey() 不调用 equals()

我有一个哈希图:

代码LotWaferBean

在我的 IDE 中,我设置了断点,equals()但它从未执行过。为什么?

0 投票
5 回答
3648 浏览

java - 什么会导致 HashMap containsKey() 以 String 作为键失败?

我被这个彻底搞糊涂了。我正在运行一个完整的单元测试包。以下是许多 JUnit 测试使用的相关共享代码:

JUnit 运行的控制台输出包括以下两个连续条目:

我错过了什么?为什么jaxbContexts.containsKey()在这种情况下对于基于字符串的键不起作用,与 JUnit 执行期间的其他 46 次不同?我们没有并行运行我们的测试,但如果这会产生影响,我们会使用 Aspects。

0 投票
2 回答
8825 浏览

c# - C# 字典 ContainsKey

我的问题是 ContainsKey 总是返回 false,即使它们已添加密钥并且 .Equals 评估为 true。

我有以下课程:

然后我有一个看起来像这样的字典:

0 投票
1 回答
369 浏览

wcf - WCF服务重置字典的区分大小写的属性

我有一本字典。最重要的是,该字典将使用它的 Containskey() 方法作为区分大小写的方法,这就是为什么我使用构造函数使其不区分大小写的原因:

我将其发送到 WCF 服务方法以填充并返回。它工作正常,但区分大小写的属性被重置为区分大小写,我无法将其设置回来,因为它仅在创建时设置。

我总是可以使用数组从 WCF 获取数据,然后填充字典,我总是可以将结果字典复制到另一个不区分大小写的字典,但是我如何克服属性重置问题?

0 投票
4 回答
3367 浏览

c# - Dictionary ContainsKey 似乎不适用于 string[] 键

我正在尝试使用具有多个字符串键的数据结构。为此,我尝试使用 string[] 元素创建字典。但是 ContainsKey 似乎没有像我预期的那样工作:

我看到在上面的代码执行之后,aaa 中有两个条目,而我只期待一个。这是预期的行为吗?如何确保字典中没有重复的条目?

注意:我也对列表进行了同样的尝试(列表和结果是相同的 - Contains 方法实际上不适用于字符串 [])