Map Java的递归迭代

扎伊德·伊克巴尔(Zaid Iqbal)

我正在编写一个递归函数,其目的是迭代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它是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));
        }

    }
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用索引迭代Java Map

来自分类Dev

递归到迭代(java)

来自分类Dev

使用Java迭代Map <String,Map <String,String >>

来自分类Dev

在freemarker中迭代Map of Map的Map

来自分类Dev

递归到Java中的迭代

来自分类Dev

递归unordered_map

来自分类Dev

.map()迭代对象数组

来自分类Dev

如何迭代 Map() 对象?

来自分类常见问题

使用Java 8 Streams的Hash Map对象列表迭代

来自分类Dev

Java HashMap迭代Map.Entry <> vs Entry <>

来自分类Dev

Java 8 在列表和 stream.map() 中迭代列表

来自分类Dev

Java Map 的迭代 - 显示数组元素时出错

来自分类Dev

Map.prototype.forEach 不迭代 Map

来自分类Dev

Java:在地图上递归地迭代

来自分类Dev

Java中的树遍历:迭代还是递归?

来自分类Dev

我自己的树的Java递归迭代器

来自分类Dev

Java迭代到递归2嵌套for循环

来自分类Dev

Java中的树遍历:迭代还是递归?

来自分类Dev

我自己的树的Java递归迭代器

来自分类Dev

递归遍历Map中的值

来自分类Dev

在python中对map使用递归

来自分类Dev

如何迭代 Map<string, string>?

来自分类Dev

Tryinf迭代Map,如何跟踪迭代次数?

来自分类Dev

使用Map实现迭代器接口不适用于Java 8流

来自分类Dev

Java 在决定是否删除对象之前迭代 map 两次

来自分类Dev

如何迭代 List<Map<String,String>> 并将其键、值添加到 Java 对象中

来自分类Dev

使用更多对迭代函数Java的调用来转换递归函数

来自分类Dev

使用更多对迭代函数Java的调用来转换递归函数

来自分类Dev

如何区分java map和clojure map?