当前位置: 首页 > 知识库问答 >
问题:

用流映射java 8转换另一个列表

东门俊民
2023-03-14

我希望使用stream和Java8中的其他选项,基于FieldError列表创建一个ErroDto列表。我用forEach有这个,但我想用stream和Map:

fieldErrors.stream()
                   .forEach(e -> errosDto.add(new ErroDto(e.getField(), e.getDefaultMessage())));
fieldErrors.stream()
               .map(e -> errosDto.add(new ErroDto(e.getField(), e.getDefaultMessage())));

共有1个答案

陈欣荣
2023-03-14

Map只应将每个FielderRor实例转换为ErrodTo实例。

使用collect将所有errodto实例收集到列表:

List<ErroDto> errosDto =
    fieldErrors.stream()
               .map(e -> new ErroDto(e.getField(), e.getDefaultMessage()))
               .collect(Collectors.toList());
 类似资料:
  • 我需要将Java转换为的实例(包括映射内容) 我应该用什么来代替来使此代码可编译?

  • 我刚刚开始看Java8,为了尝试lambdas,我想我应该尝试重写我最近写的一个非常简单的东西。我需要将一个字符串到列的映射转换为另一个字符串到列的映射,其中新映射中的列是第一个映射中列的防御副本。列具有复制构造函数。到目前为止我得到的最接近的数据是: 但我相信一定有更好的方法来做这件事,我会很感激一些建议。

  • 我有一个问题与转换列表对象映射字符串,列表对象。我正在寻找与一个关键名称的汽车所有组件的地图,一个值由汽车与此组件表示 我写了一个解决方案,但寻找一个更好的流解决方案。

  • 我有映射键作为字符串和值作为列表。列表可以有10个唯一值。我需要转换这个映射键为整数和值为列表。示例如下: 输入: 2:“钥匙-1”,“钥匙-2” 3:“钥匙-1”、“钥匙-2”、“钥匙-3” 4:“钥匙-1”、“钥匙-2”、“钥匙-3”

  • 问题内容: 我需要将Java转换为的实例(包括地图内容) 我应该怎么做才能使此代码可编译? 问题答案: 从Collectors.toMap(…)javadoc: 例如:

  • 所以,在Clojure中,我可以这样说... 我得到了一个新的数据向量。 对于 Java 8 流,是否有一些简单的?例如,我在 上没有看到接受流的构造函数,也没有在 中看到某种帮助程序函数,也没有看到流接口。