<p>有多种方法可以将List<Object>转换为Map&lt;String, List<Object>&gt;,以下是其中的一种方法:</p>
<ol>
<li>定义一个空的Map&lt;String, List<Object>&gt;。</li>
<li>遍历List<Object>中的每个对象。</li>
<li>检查每个对象是否是Map类型,如果不是则跳过。</li>
<li>将每个Map对象转换为Map&lt;String, Object&gt;。</li>
<li>遍历每个Map&lt;String, Object&gt;中的键值对。</li>
<li>检查Map中的键是否已经存在于目标Map&lt;String, List<Object>&gt;中,如果不存在则创建一个新的List<Object>作为值。</li>
<li>将当前对象添加到对应的List<Object>中。</li>
<li>将更新后的List<Object>设置为目标Map&lt;String, List<Object>&gt;中的值。</li>
<li>返回转换后的Map&lt;String, List<Object>&gt;。</li>
</ol>
<p>以下是一个示例代码:</p>
<pre><code class="language-java">public static Map&lt;String, List&lt;Object&gt;&gt; convertListToMap(List&lt;Object&gt; list) {
    Map&lt;String, List&lt;Object&gt;&gt; map = new HashMap&lt;&gt;();

    for (Object obj : list) {
        if (obj instanceof Map) {
            Map&lt;String, Object&gt; objMap = (Map&lt;String, Object&gt;) obj;
            for (Map.Entry&lt;String, Object&gt; entry : objMap.entrySet()) {
                String key = entry.getKey();
                Object value = entry.getValue();

                if (!map.containsKey(key)) {
                    map.put(key, new ArrayList&lt;&gt;());
                }

                map.get(key).add(value);
            }
        }
    }

    return map;
}
</code></pre>
<p>使用示例:</p>
<pre><code class="language-java">List&lt;Object&gt; list = new ArrayList&lt;&gt;();
Map&lt;String, Object&gt; map1 = new HashMap&lt;&gt;();
map1.put(&quot;key1&quot;, &quot;value1&quot;);
map1.put(&quot;key2&quot;, &quot;value2&quot;);
list.add(map1);

Map&lt;String, Object&gt; map2 = new HashMap&lt;&gt;();
map2.put(&quot;key1&quot;, &quot;value3&quot;);
map2.put(&quot;key2&quot;, &quot;value4&quot;);
list.add(map2);

Map&lt;String, List&lt;Object&gt;&gt; resultMap = convertListToMap(list);
System.out.println(resultMap);
</code></pre>
<p>输出结果:</p>
<pre><code>{key1=[value1, value3], key2=[value2, value4]}
``
</code></pre>
listObject转换成mapStringListObject 多用方法

原文地址: https://www.cveoy.top/t/topic/iOaf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录