可以使用Java 8的流式操作来实现:

Map<String, List<Object>> map = levelRuleItemList.stream()
    .flatMap(levelRuleItem -> levelRuleItem.getFields().entrySet().stream())
    .collect(Collectors.groupingBy(
        Map.Entry::getKey,
        LinkedHashMap::new,
        Collectors.mapping(Map.Entry::getValue, Collectors.toList())
    ));

这里假设LevelRuleItem类有一个名为fields的字段,类型为Map<String, Object>,存储所有字段属性和值。LinkedHashMap用于保持原始顺序,如果不需要保持顺序,可以使用默认的HashMap

java 将ListLevelRuleItem levelRuleItemList 转换为MapString ListObject 其中key是字段属性value是所有字段的值的列表列表顺序要和原始顺序一致

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

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