Java Map 的递归迭代

2023-12-12

我正在编写一个递归函数,其目的是迭代 pList 文件。我的代码是

public static void HashMapper(Map lhm1) throws ParseException {

    //Set<Object> set = jsonObject.keySet();
    for (Object entry : lhm1.entrySet()) {
        if(entry instanceof String)
        {
            System.out.println(entry.toString());
        }
        else
        {
            HashMapper((Map) ((Map) entry).keySet()); //getting Exception java.util.HashMap$HashMap Entry cannot be cast to java.util.Map
        }
    }
}

但是当我调用我的函数“HashMapper((Map)((Map)entry).keySet());”时。我遇到了一个例外

java.util.HashMap$HashMap 条目无法转换为 java.util.Map

我不知道如何调用我的函数以及如何将 Hashmap 条目转换为 Map


入境确实不是String. It is Map.Entry,因此您可以根据需要将其转换为这种类型。

然而,自从大约 10 年前引入 java 1.5 以来,您几乎不再需要强制转换。相反,使用泛型定义映射并使用类型安全编程。

不幸的是你的代码不太清楚。你的意思是你的地图的键或值是String?假设键是字符串,值可以是字符串或映射。 (顺便说一句,这种做法非常糟糕,所以我建议您提出其他问题,描述您的任务是什么,并询问如何设计您的程序。)

但无论如何,到目前为止我可以建议你:

public static void hashMapper(Map<String, Object> lhm1) throws ParseException {
    for (Map.Entry<String, Object> entry : lhm1.entrySet()) {
        String key = entry.getKey();
        Object value = entry.getValue();
        if (value instanceof String) {
             System.out.println(value);
        } else if (value instanceof Map) {
            Map<String, Object> subMap = (Map<String, Object>)value;
            hashMapper(subMap);
        } else {
             throw new IllegalArgumentException(String.valueOf(value));
        }

    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java Map 的递归迭代 的相关文章

随机推荐

  • 在 Java 中向枚举添加斜杠

    我需要创建一个enumeration像这样 public enum STYLE ELEMENT1 0 A R 2 Staff But Java不允许这样做 有什么解决办法吗 谢谢 你不能使用 命名 Java 标识符 你可以看看 JLS 3
  • Firefox 中的表格充斥着 CSS

    我无法让我的桌子正常运转 内容不断溢出 我尝试限制它并没有产生预期的效果 这是我的标记 div class repeatingdiv div class hastitle Some title div div class hastable
  • ARM中Q(饱和标志)的重要性

    我想了解 Q 标志在 ARM 处理器中的重要性 我知道有一些指令 如 QADD QSUB 等 但我需要通过一些例子来理解这一点 以澄清这个概念 ARM 架构参考手册 ARM DDI 0100E 对此进行了解释 位 27 的CPSR is a
  • 有效地重塑稀疏矩阵,Python,SciPy 0.12

    In 另一篇关于在 SciPy 中调整稀疏矩阵大小的文章当要添加更多行或列时 接受的答案有效 使用scipy sparse vstack or hstack 分别 在 SciPy 0 12 中reshape or set shape方法还没
  • Python 中的整数除法和带负操作数的模运算

    当我在 Python 3 3 0 中输入这些表达式时出现问题 10 3 4 10 3 2 10 3 4 10 3 2 10 3 3 看起来好像它采用近似浮点 3 33 并在整数除法中以任一方式向下舍入 但在模运算中它会执行完全不同的操作 看
  • set-cookie 在响应标头中设置,但未显示在“应用程序”->“Cookies”中

    The front end spa is hosted in netlify and backend in heroku And sending the cookies in response header as shown in the
  • 进程完成,退出代码为 139(被信号 11:SIGSEGV 中断)

    我正在尝试执行Python脚本 但我收到以下错误 Process finished with exit code 139 interrupted by signal 11 SIGSEGV 我在 Linux Mint 18 1 Serena
  • 重复消除相似的公司名称

    我有一张包含公司名称的表格 由于人为输入错误 存在许多重复项 对于是否应包含细分 拼写错误等存在不同的看法 我希望所有这些重复项都被标记为一个公司 1c company 1c 1c company 1c game studios 1c wi
  • 在 Python 中将字符串解释为其他数据类型

    我正在将一个文件读入 python 2 4 其结构如下 field1 7 field2 Hello world field3 6 2 这个想法是将其解析成一个字典 该字典需要fieldfoo作为键 冒号后面的任何内容作为值 我想将冒号后面的
  • 如何将 repr 转换为编码字符串[重复]

    这个问题在这里已经有答案了 我有这个str 来自我无法修复的文件 In 131 s Out 131 xce xb8Oph 这接近于 utf8 编码的字符串的表示 In 132 repr Oph encode utf8 Out 132 b x
  • Hangfire 在每台服务器上重复执行作业

    我遇到的情况是 我需要使用hangfire 注册的重复作业才能在集群中的每台服务器上运行 工作是在本地复制一些文件 因此需要定期在每台服务器上运行 到目前为止 我已经尝试使用服务器名称的 id 注册相同的作业 从而为 n 个服务器生成 n
  • JDBC:抱怨无效符号,但看起来不错

    我必须使用 JDBC 写入数据库 hibernate ibatis 不是一个选项 我的数据库是 Oracle 11g 我创建以下查询 insert into user user id username age creation ts val
  • std::put_time 格式

    我想了解如何工作 std put time 以及如何获取 YYYY MM DD HH MM SS 格式的日期戳 现在我写这样的东西 std chrono time point
  • 将对象转换为数组的 PHP 错误

    我之前有过这个问题 最后得出的结论是这是 5 2 5 中的一个错误 好吧 它在 5 2 6 中仍然有问题 至少对我来说 请告诉我它是否损坏或对您有用 obj new stdClass obj gt foo bar obj gt 0 zero
  • 在 Oracle SQL 中使用复杂 IF 语句

    您好 我正在尝试在 Band 属性中编写 If 语句 但没有成功 T T 我想做的是根据所有者类别 棚屋和供水属性设置单个角色 A B C D 任何帮助都会很棒 CREATE TABLE Rent Band Plot ID NUMBER 3
  • 从字符串列表中提取每个单词

    我正在使用Python 我的清单是 str Hello dude What is your name My name is Chetan 我想将字符串中每个句子中的每个单词分开并将其存储在new list中 new list 会像 new
  • 通过“this”与“prototype”分配函数有什么区别? [复制]

    这个问题在这里已经有答案了 可能的重复 在 Javascript 中使用 prototype 与 this 我对这两种向函数添加方法的类型感到困惑 让我用一个例子来解释一下 var foo function this bar functio
  • ConvertTo 函数中 Mat 的内存泄漏

    我在管理函数中的内存时遇到一些问题 Valgrid 说我在转换函数后出现内存泄漏 难道是因为数据没有正常发布 我尝试使用临时指针 但我的程序崩溃或无法正常工作 以前有人遇到过这个问题吗 this gt images push back ne
  • css“[class*=my-class].my-subclass”在做什么?

    我继承了一些 css 并且在网上到处搜索以了解 css 块所表达的内容 如下所示 class wrapper logo padding top 32px important 星号和方括号的作用是什么 在谷歌上搜索 和 很困难 如果这个问题很
  • Java Map 的递归迭代

    我正在编写一个递归函数 其目的是迭代 pList 文件 我的代码是 public static void HashMapper Map lhm1 throws ParseException Set set jsonObject keySet