如何遍历另一个 Map 内的 Map?

约瑟夫施密特

我正在做一个关于 Java 的个人项目。我有一个名为 allow 的 Map,第二个参数是另一个 Map。我正在尝试比较允许内 Map 的第二个参数。如果有人可以帮助我,那将是一个很大的帮助。

public boolean checkBank(String bank, int cNumber){
    Map <String, Map<String, String> > allow = new HashMap<>();
    String num = Integer.toString(cNumber);
    Iterator<Map.Entry<String, Map<String, String>>> entries = allow.entrySet().iterator();
    while (entries.hasNext()) {
        Map.Entry<String, Map<String, String>> entry = entries.next();
        if (entry.getKey().equals(bank)) {
            String all = entry .getValue().get(0);
            for (int i = 0; i < entry.getValue().size(); i++) {
                if(entry.getValue().equals(num)) {
                    return true;
                }
            }
        }
    }
    return false;
}
用户7115899

在语句上: if(entry.getValue().equals(num)) entry.getValue() 是一个 Map,但 num 是一个字符串。这两个不是兼容的类型,因此它们永远不可能相等。

值得注意的是,您正在寻找键值等于 bank 的一个条目。与其扫描所有 Map.Entry 对象以查找具有正确值的对象,不如使用以下语句:

Map<String,String> map = allow.get(bank);

让外部地图为您完成这项工作。

您的问题并没有完全说明您想要什么,但我猜您要么想在内部 Map 中查找键或值与 num 匹配的条目。你可以这样做

map.containsKey(num)

或者

map.containsValue(num)

这基本上是你要找的吗?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在另一个函数内使用map函数和arrow函数?

另一个片段内的Map Fragment导致Activity崩溃

推回JS中map函数内的另一个数组

如何在另一个Map Java中迭代一个Map

如何在 Java 中将一个 Map 放入另一个 Map

如何遍历map并仅获取前几个键值对并将它们传递给另一个函数?

在Scala中,如何检查一个Map是否包含另一个Map的所有条目?

确定一个 Map 是否是另一个 Map 的子集

Golang Map结构在另一个

Map.mapTo到另一个地图

使用另一个类的 Map Fragment

如何将一个 Map 中的 K 和另一个 Map 中的 V 写入一个文件?

如何根据 Spring Data JPA 中另一个属性的值返回 Map?

如何使用map和forEach反转另一个数组中的布尔数组?

如何使用map将数据从组件传递到reactJs上的另一个组件?

如何访问从另一个类中的文本文件导入的 Map?

如何将List <Map>的信息获取到Flutter中的另一个屏幕?

如何引用另一个组件使用 .map() 创建的组件?

在Java 8中,如何使用lambda将Map <K,V>转换为另一个Map <K,V>?

在React中使用.map()生成组件时,如何使一个组件与另一个组件通信?

Java8生成包含另一个Map的Map

并发写入包含Golang中另一个Map的Map

基于另一个嵌套的 Map 迭代更新 Map

将 Scala Map 添加到另一个 Scala Map

是否可以将 map 方法实现到另一个 map 方法中?

将一个Map值存储到另一个

Scala concatenate Map - 一个带选项,另一个不带选项

JavaScript _.map()与array.map(); 为什么一个在这里工作而不是另一个?

如何遍历 array.map 函数内的数组?