<p>可以使用以下代码将 List&lt;Map&lt;String, Object&gt;&gt; 转换为 Map&lt;String, List<Object>&gt;:</p>
<pre><code class="language-java">Map&lt;String, List&lt;Object&gt;&gt; result = new HashMap&lt;&gt;();

for (Map&lt;String, Object&gt; map : levelRuleItemFieldMapList) {
    for (Map.Entry&lt;String, Object&gt; entry : map.entrySet()) {
        String key = entry.getKey();
        Object value = entry.getValue();
        if (result.containsKey(key)) {
            result.get(key).add(value);
        } else {
            List&lt;Object&gt; list = new ArrayList&lt;&gt;();
            list.add(value);
            result.put(key, list);
        }
    }
}
</code></pre>
<p>该代码使用两个嵌套的 for 循环,遍历 List&lt;Map&lt;String, Object&gt;&gt; 中的所有元素和元素中的所有键值对。对于每个键值对,将键作为 Map&lt;String, List<Object>&gt; 中的键,将值添加到对应的 List<Object> 中。如果 Map&lt;String, List<Object>&gt; 中没有该键,则创建一个新的 List<Object> 并将值添加到其中,然后将该键和 List<Object> 添加到 Map&lt;String, List<Object>&gt; 中。最终结果是一个 Map&lt;String, List<Object>&gt;,其中键是原始 List&lt;Map&lt;String, Object&gt;&gt; 中的所有键,值是这些键对应的所有值的列表。</p>

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

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