在Collectors.mapper循环内创建新对象?

huangapple 未分类评论50阅读模式
英文:

Create new object inside inside Collectors.mapper loop?

问题

我有这段代码:

Map<LocalDate, Map<String, List<RollingField>>> fieldMap = rollingFields.stream()
        .collect(Collectors.groupingBy(RollingField::getDate,
                Collectors.groupingBy(fi -> fi.getMeta().getName())));

我有一个名为 rollingFieldsToRollingDTO 的方法,该方法将从 List<RollingField> 转换为 ShortRollingFieldDTO

如何使用 Collectors.mapping 创建它?现在我有一个想法,类似于:

Map<LocalDate, List<ShortRollingFieldDTO>> rollingFieldFrontDTOS = rollingFields.stream()
          .collect(Collectors.groupingBy(AbstractField::getDate,
              Collectors.mapping(rf -> new ShortRollingFieldDTO(), Collectors.toList())));
英文:

I have this code:

Map&lt;LocalDate, Map&lt;String, List&lt;RollingField&gt;&gt;&gt; fieldMap = rollingFields.stream()
        .collect(Collectors.groupingBy(RollingField::getDate,
                Collectors.groupingBy(fi -&gt; fi.getMeta().getName())));

And i have method rollingFieldsToRollingDTO which doing from List<RollingField> to ShortRollingFieldDTO

How can i create it with Collectors.mapping? Now i have idea like:

Map&lt;LocalDate, List&lt;ShortRollingFieldDTO&gt;&gt; rollingFieldFrontDTOS = rollingFields.stream()
          .collect(Collectors.groupingBy(AbstractField::getDate,
              Collectors.mapping(rf -&gt; new ShortRollingFieldDTO(), Collectors.toList())));

huangapple
  • 本文由 发表于 2020年4月10日 21:46:15
  • 转载请务必保留本文链接:https://java.coder-hub.com/61141619.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定