问题标签 [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.
c# - 如何避免更新字典搜索的项目?
在 .NET Winfroms C# 应用程序中,我有一个名为 listItems 的 Dictionary 集合。我在应用程序启动时将数据存储在其中。在静态类中,我有以下内容:
为了从另一个类的 listItems 中检索项目,我使用:
上面发生的情况是,我搜索一个项目并得到它“ refScannedItem
”,然后我将它的描述附加到"BOX of " + boxItem.Quantity + " " + refScannedItem.Description;
. 因此,如果原始描述是“Aquafina”,我将其设为“BOXof 10 Aquafina”。嵌套时间我扫描相同的产品,我找到了产品,但现在它的描述变成了“10 盒 Aquafina”,所以我的设置描述线变成了“10 盒 10 盒 Aquafina”。类似“10 盒 10 盒 10 盒 Aquafina”等等。
正如您在我的查找代码中看到的那样,我最初使用TryGetValue
,然后尝试使用LINQ
,然后尝试使用ContainsKey
,但在所有这些中,为什么 listItem 的值会被更新。
我知道 asTryGetValue
有out
参数,所以值作为 a 传递reference
,然后它将被更改。但listItems[key]
也在更新它!我怎样才能避免这种情况发生?我选择了Dictionary
集合以便于快速搜索,但这部分在我的应用程序上也带来了很多问题和一个大错误。我找不到接收值但不应该更新的解决方案。所有文章都显示了如何搜索和更新它。
请为上述问题提出解决方案。非常感谢任何帮助。
谢谢
java - Hashmap 包含 key return false 即使 key 存在
我已经制作了一个 hashmap Map percentages= new HashMap();
,我已经在其中输入了值和键,这很成功,但是当我尝试获取或尝试 ContainsKey 方法时,它返回 false。
请参阅随附的屏幕截图:
java - URI 的编码路径在是否内置到 JAR 中时表现不同
我调用了一个希望返回 true 的 HashMap 的 containsKey 方法。如果我将程序编译为 .class 文件并像这样运行它,它会返回 true,但是如果我构建一个 JAR,那么由于我无法理解的原因,相同的调用会返回 false。
我已经调试了 .class 和 JAR 版本(使用远程连接的 JAR,如http://www.eclipsezone.com/eclipse/forums/t53459.html中所述),在这两种情况下,HashMap 似乎都包含我正在尝试检查的关键。
HashMap 使用 URI 对象作为键。以下是每个调试会话中显示的变量内容:
当作为 .class 文件运行时
哈希映射键:java.net.URI = file:/E:/SSD%20App%20Libraries/Google%20Drive/Programming/Bet%20Matching/Java%20Sim/target/classes/simfiles/paytables/
URIToCheck:java.net.URI = file:///E:/SSD%20App%20Libraries/Google%20Drive/Programming/Bet%20Matching/Java%20Sim/target/classes/simfiles/paytables/
结果:GameTreeItemsMap.containsKey(URIToCheck)
是true
作为 JAR 运行时
哈希映射键:java.net.URI = jar:file:/E:/SSD%20App%20Libraries/Google%20Drive/Programming/Bet%20Matching/Java%20Sim/out/artifacts/JavaSim_jar/Java%20Sim.jar!/simfiles/paytables/
URIToCheck:java.net.URI = jar:file:///E:/SSD%2520App%2520Libraries/Google%2520Drive/Programming/Bet%2520Matching/Java%2520Sim/out/artifacts/JavaSim_jar/Java%2520Sim.jar!/simfiles/paytables/
结果:GameTreeItemsMap.containsKey(URIToCheck)
是false
我希望该方法true
在这两种情况下都会返回。URI 在 JAR 中的行为是否有所不同?这是怎么回事?
提前感谢您的帮助!
编辑 1
正如向我指出的那样,JAR 案例中的 URIToCheck 被双重编码(%2520 而不是 %20)。这是生成 URIToCheck 的代码。我使用walkFileTree
方法。
在 JAR 的情况下,URIparentURIToCheck
是双重编码的(用 %5250 表示应该有 %20 的空格),而在 .class 的情况下,这不会发生。知道为什么吗?
r - 检查一对列是否在数据框的一行中
我想知道是否有任何有效的方法来检查给定的列对(或两个以上的元组)是否在数据框中。
例如,假设我有以下数据框:
我想检查这个表是否包含列对的列表,比如:(a,b), (a,c), (a,e), (c,a), (c,g), (a ,F)
它应该向其输出:
编辑:添加了一对新的 (a,f) 以避免混淆
我想通过将列连接成字符串然后与 %in% 进行比较来做到这一点,但这非常低效。我也想过用dplyr的过滤器做一个循环,但是当表格很大并且需要转换格式(即写几行)时,它也需要相当长的时间。
在 R 中是否有任何有效的方法来实现这一点?
java - 具有字节数组键和字符串值的 HashMap - containsKey() 函数不起作用
我正在使用 HashMap: byte[] 键和 String 值。但我意识到,即使我通过使用放置相同的对象(相同的字节数组和相同的字符串值)
进入HashMap,表中仍然插入了一个具有不同HashMapEntry的新对象。然后函数 containsKey() 无法工作。
有人可以为我解释一下吗?我怎样才能解决这个问题?谢谢。(安卓Java)
oracle - 在 oracle 中实现词库的步骤
任何人都可以帮助我了解如何在 oracle 11g 中实现同义词库搜索的步骤。我已阅读 oracle 文本文档,但没有任何帮助。
java - 为什么 containsKey 方法不能按预期工作?
我正在尝试将位置列表中的所有唯一坐标添加到单个 HashMap 中,该 HashMap 以坐标为键,计数为值。关键是用'$'符号连接的经度和纬度。
我遇到的问题是 containsKey 总是返回 false,即使通过测试我输入了两个相同的经度和纬度坐标。
编辑:我尝试addCords(0,0);
了 5 次,但 HashMap 仍然是空的。
编辑 2:双值仅到千位。
测试用例:
这将返回{}
谢谢
java - 如果键已经存在,则增加 hashmap 值
我不确定为什么当代码已经存在时我的代码中的值没有增加。任何提示都非常感谢:
更新:我将代码更改为
仍然打印 0 为majorityRes
. 知道为什么吗?
更新':通过更改为containsKey()
拼写错误来解决问题。
java - Java缺少关键消息不起作用?
因此,当播放器不存在但没有打印任何内容并且我不确定自己做错了什么时,我试图显示一条错误消息。这是下面的具体代码。
任何帮助表示赞赏,我的意思是任何帮助!:)