问题标签 [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 投票
2 回答
772 浏览

java - HashTable getcontainsKey 不起作用

我不明白为什么这个简单的方法不起作用

我的班级有两个方法AccessChecker的属性:Hashtable<String, List<Permission>> permissions = new Hashtable<String, List<Permission>>();

第一种方法

如果我把this.permissions.containsKey(key)这个方法放在最后,用一个好的键,它就可以工作。

第二种方法

但是,当我在方法中执行此操作时hasAccessToWebservice(),它不适用于同一个键......

你能解释一下为什么吗?

谢谢

0 投票
4 回答
99 浏览

c# - C# 在 Foreach 循环中以选择的数量显示字符串一次

所以我正在制作一个邮件功能,但我在以我希望的方式显示数据时遇到问题。

这是我的代码(编辑为仅显示我遇到的问题):

我想要它做的是:

如果 Dictionary 中有多个相同的类型,可以这样写:

狮子(3) 熊(2) 鱼(8) 考拉(12) 等

我想我已经有了一个良好的开端,但不知道下一步该做什么。

0 投票
0 回答
73 浏览

java - HashMap 条目已丢失

我不明白为什么这段代码:

打印false false。当我将Person对象放入地图时,应该计算哈希值。然后键的属性被改变。调用containsKey时,应比较哈希值,并new Person("person2")与先前插入的键具有相同的哈希值。在这两种情况下containsKey评估为假会发生什么?

0 投票
1 回答
68 浏览

java - 使用 HashMap 更新购买产品的计数

我正在阅读一个.txt文件,它需要能够使用产品地图中的产品密钥 5020 更新条目,从而将购买次数增加 2。到目前为止,我可以通过客户地图来做到这一点,但我需要制作产品地图的另一个显示也是如此。

每当我尝试以与客户地图相同的方式进行操作时,我都无法获得文件中的所有条目。我必须使用 HashMap 并且我不熟悉它。

我认为问题在于产品映射的 if 语句。

这是文件:

0 投票
1 回答
429 浏览

java - HashMap containsKey 对于相同的字符串总是返回 false

我正在从一个文件中解析,其中我有城市名称和到其他城市的距离,格式如下:

我认为问题在于,当我切碎字符串时,它会创建不同的对象,并且由于某种原因, String.equals 和/或 hashcode() 会给出不同的结果。因此, Map.get(key) 返回空值。然而,我不知道如何解决这个问题。

}

0 投票
1 回答
94 浏览

java - TreeMap#containsKey 在 put 之后返回 false

我知道这个问题之前已经被处理过,但我已经阅读了问题并试图解决我自己的问题,但没有结果,我想我在 TreeMap 或 Map 实现中遗漏了一些东西......

为什么当我运行它时我会得到两次错误?我试过用 Integer 而不是 Arme 并且它有效,我不明白我做错了什么。

0 投票
1 回答
23 浏览

get - 为什么我的哈希图没有返回字数?

我正在创建一个哈希图,它进行线性探测以找到键的索引。如果键已经在索引中,我想增加它的值,而不是在新索引中添加一个。

例如,如果我得到字符串“五、五、五”的字数,我的输出是五个 1、五个 1、五个 1,而不是五个 3。

我认为它一定是我的 containsKey 方法,它使用 get 方法检查我的密钥是否已经在地图中。下面是我的 Hashmap.java 类。

0 投票
2 回答
115 浏览

java - 为什么日历值不同?

我要根据年月日时分计算次数。(秒统一为零,我不需要秒)

我选择 HashMap 作为数据结构。

如果已经有相同的时间(年,月,日,小时,分钟),我想增加整数,或者添加一个新的时间(年,月,日,小时,分钟)。

我认为如果年、月、日、小时和分钟相同,它会识别相同的日历。但事实并非如此。

问题是什么?

我没有使用“日期”。因为,Android Devloper 是这么说的。

Date(int year, int month, int date, int hrs, int min, int sec) 此构造函数在 API 级别 1 中已弃用。从 JDK 版本 1.1 开始,由 Calendar.set(year + 1900, month, date, hrs , min, sec) 或 GregorianCalendar(year + 1900, month, date, hrs, min, sec)。

0 投票
1 回答
58 浏览

java - android java --key is same but containsKey return false

I have to put values in LinkedHashMap. (because, I want sorting and determinig if there are values already)

I thought containsKey return true if String values are same like temp and temp2. However, testMap.put(temp2,8); is running.

I don't know why. If that is not correct answer, How can I store or access values in fast way??

0 投票
1 回答
24 浏览

java - 文件的第一个单词没有被 hashmap.containskey 识别为与文件中稍后出现的其他单词相同的单词

我正在使用 mapreduce 构建一个倒排索引(这不需要帮助我解决问题的知识)。为此,我在我的地图函数中使用了一个哈希图,其中包含一个单词在文件中的出现次数,以及它所在的文件以及文件中单词的位置。

输出如下所示:

但应该看起来像这样:

我构建哈希图的代码:

我的日志是:

如您所见, containskey() 似乎并不认为 filepos 10 中的 bart 与 filepos 1 中的 bart 相同,但它认为它与 filepos 83(和其他位置)中的 bart 相同。尽管将文档标记为如下:

由于 barts 应该都是字母数字字符,没有空格(打印时看起来相同),我不明白为什么 containskey 方法不关联它们。我发现有人与 containskey 存在类似问题,但无法在此处识别文件的第一个单词,尽管没有找到解决方案。

感谢任何能够提供帮助的人。