gpt4 book ai didi

java - 带集合的 MultiMap

转载 作者:行者123 更新时间:2023-11-30 05:51:44 24 4
gpt4 key购买 nike

我正在处理一个 XML 文件。在我的 XML 文件中,有些节点有子节点。该 XML 文件有多个标签。

<Cat categorie="CAT 1" guid="e9fdsd8ff">
<!--Electric energie management-->
**<item Var="VAR1" guid="2795ddsd410d">
<desc> Energie Smart Management
</desc>
<App guid="240adsqsd" />
<App guid="90dqddqsq" />**
</item>
</Cat>

如您所见,我的节点“item”具有参数 VAR=var1 并且有 2 个子节点。所以我创建了一个 hashMap 来放置他的 child 的 1 个节点,如下所示

private Map<String, Collection <String >> multiMap = new HashMap <> ();

所以我实际上有类似的东西:[Key=Var1, Value = [gui0,guid1,...]]

现在,我想知道您是否知道如何验证 guid 是否包含在与 key 关联的集合中,以便检索该 key 。

例如,如果我有这个字符串:240adsqsd。我想恢复 Var1

感谢您的帮助

最佳答案

这是可能的。假设您有键 myKey,并且您想知道字符串 mySearchString 是否包含在该键后面的集合中。

multiMap.get("myKey").contains("mySearchString");

如果mySearchString equals,它将返回true (区分大小写)集合中的任何对象。

但您必须小心,集合上的方法 contains 使用区分大小写的 equals 方法,并且仅当它们 100% 相等时才有效。因此,当您的集合包含诸如 “MYSEARCHstring” 之类的内容时,它将不起作用,以及 “包含 mySearchString 的句子”

编辑:
(感谢尼古拉斯和迪西)
这是如何实现这一目标的更完整的示例。

String mySearchString = "mySearchString";
Map<String, Collection<String>> multiMap = new HashMap<>();
for (String key : multiMap.keySet()) {
if (multiMap.get(key) != null && multiMap.get(key).contains(mySearchString)) {
return key;
}
}

如果您不知道 key ,则必须迭代 map ,检查其中一个集合是否包含搜索到的字符串,然后当您找到该集合(及其 key )时返回 key 。

关于java - 带集合的 MultiMap<String>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53779816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com