Java Stream 流简化代码示例:生成表头信息
可以使用Java 8中引入的Stream API来简化这段代码。首先,我们可以使用Stream.of()方法创建一个流,将所有的表头信息都放入其中:
Stream<List<String>> headerStream = Stream.of(
Collections.singletonList(scoreItemTableHeader.getDutyClassify()),
Collections.singletonList(scoreItemTableHeader.getAssesseeName()),
Collections.singletonList(scoreItemTableHeader.getTotalScoreName()),
scoreItemTableHeader.getScoreListName().stream()
.map(scoreItemCellsVO -> Collections.singletonList(scoreItemCellsVO.getLabel()))
.collect(Collectors.toList())
);
接着,我们可以将流中的所有List
List<List<String>> header = headerStream.flatMap(Collection::stream)
.collect(Collectors.toList());
完整的代码如下:
List<List<String>> header = Stream.of(
Collections.singletonList(scoreItemTableHeader.getDutyClassify()),
Collections.singletonList(scoreItemTableHeader.getAssesseeName()),
Collections.singletonList(scoreItemTableHeader.getTotalScoreName()),
scoreItemTableHeader.getScoreListName().stream()
.map(scoreItemCellsVO -> Collections.singletonList(scoreItemCellsVO.getLabel()))
.collect(Collectors.toList())
)
.flatMap(Collection::stream)
.collect(Collectors.toList());
原文地址: https://www.cveoy.top/t/topic/oZDp 著作权归作者所有。请勿转载和采集!