Java Stream将列表转换为整数集映射

时间:2019-05-13 10:38:18

标签: list java-8 set maps java-stream

我有一个List<StructureA>

现在,此结构包含Type typeA typeB 。 在此处输入一个枚举。

StructureA包含以下字段:countryCode,Type,timeZone。 StructureB包含以下字段:countryCode,timeZone

我想将此列表转换为Map<Type, Set<StructureB>>。使用流有可能吗?

1 个答案:

答案 0 :(得分:2)

使用收集器分组

Map<Type, Set<StructureB>> collect = list.stream()
            .collect(Collectors.groupingBy(StructureA::getType,
                Collectors.mapping(a -> new StructureB(a), Collectors.toSet())));