提问人:snow 提问时间:9/24/2023 更新时间:9/24/2023 访问量:27
我应该如何使用内部键在嵌套的 HashMap 中搜索项目?
How should I search items in a nested HashMap with inner key?
问:
我有一个嵌套的 HashMap ,现在我知道 TreeMap 中的内部键,但没有 HashMap 中的键。我可以使用一些内置方法或其他方法而不迭代 HashMap 来获得我想要的东西吗?HashMap<String, TreeMap<Integer, Item>>
Id(Integer)
String
以前,如果我知道密钥,我可以用它来获取项目,然后使用 ,但是如果我没有外部密钥,我不知道现在该怎么办。迭代 HashMap 是唯一的方法吗?String
HashMap.get(String key)
TreeMap.get(Integer inner_key)
答:
0赞
Reilas
9/24/2023
#1
"...我可以使用一些内置方法或其他方法而不迭代 HashMap 来获得我想要的东西吗?..."
很遗憾没有。虽然,一次迭代只有几行。
String key(int i, HashMap<String, TreeMap<Integer, Item>> map) {
for (Map.Entry<String, TreeMap<Integer, Item>> e : map.entrySet())
if (e.getValue().containsKey(i)) return e.getKey();
return null;
}
或者,使用流。
String key(int i, HashMap<String, TreeMap<Integer, Item>> map) {
return map.entrySet()
.stream()
.filter(x -> x.getValue().containsKey(i))
.findFirst()
.get().getKey();
}
评论
0赞
snow
9/24/2023
谢谢!这就是我想要的,祝你有美好的一天:)
评论