java 将ListLevelRuleItem levelRuleItemList 转换为MapString ListObject 其中key是字段属性value是所有字段的值的列表
<p>可以使用Java8的流式API和Collectors工具类来实现将List<LevelRuleItem> levelRuleItemList转换为Map<String, List<Object>>的操作,示例代码如下:</p>
<pre><code>Map<String, List<Object>> result = levelRuleItemList.stream()
.flatMap(item -> item.getFields().entrySet().stream())
.collect(Collectors.groupingBy(Map.Entry::getKey,
Collectors.mapping(Map.Entry::getValue, Collectors.toList())));
</code></pre>
<p>首先,我们使用stream()方法将List转换成流,然后使用flatMap()方法将每个LevelRuleItem对象的fields属性转换成一个Entry流,这样所有的字段就都在一个流中了。接着,我们使用Collectors.groupingBy()方法按照字段属性进行分组,并使用Collectors.mapping()方法将每个字段的值提取出来,最终得到一个Map<String, List<Object>>结果。</p>
原文地址: https://www.cveoy.top/t/topic/02N 著作权归作者所有。请勿转载和采集!