listObject转换成mapStringListObject 多用方法
<p>有多种方法可以将List<Object>转换为Map<String, List<Object>>,以下是其中的一种方法:</p>
<ol>
<li>定义一个空的Map<String, List<Object>>。</li>
<li>遍历List<Object>中的每个对象。</li>
<li>检查每个对象是否是Map类型,如果不是则跳过。</li>
<li>将每个Map对象转换为Map<String, Object>。</li>
<li>遍历每个Map<String, Object>中的键值对。</li>
<li>检查Map中的键是否已经存在于目标Map<String, List<Object>>中,如果不存在则创建一个新的List<Object>作为值。</li>
<li>将当前对象添加到对应的List<Object>中。</li>
<li>将更新后的List<Object>设置为目标Map<String, List<Object>>中的值。</li>
<li>返回转换后的Map<String, List<Object>>。</li>
</ol>
<p>以下是一个示例代码:</p>
<pre><code class="language-java">public static Map<String, List<Object>> convertListToMap(List<Object> list) {
Map<String, List<Object>> map = new HashMap<>();
for (Object obj : list) {
if (obj instanceof Map) {
Map<String, Object> objMap = (Map<String, Object>) obj;
for (Map.Entry<String, Object> entry : objMap.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
if (!map.containsKey(key)) {
map.put(key, new ArrayList<>());
}
map.get(key).add(value);
}
}
}
return map;
}
</code></pre>
<p>使用示例:</p>
<pre><code class="language-java">List<Object> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("key1", "value1");
map1.put("key2", "value2");
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("key1", "value3");
map2.put("key2", "value4");
list.add(map2);
Map<String, List<Object>> resultMap = convertListToMap(list);
System.out.println(resultMap);
</code></pre>
<p>输出结果:</p>
<pre><code>{key1=[value1, value3], key2=[value2, value4]}
``
</code></pre>
原文地址: https://www.cveoy.top/t/topic/iOaf 著作权归作者所有。请勿转载和采集!