Java Stream Collect: 将数据放入已创建对象
在给定的代码中,'collect(Collectors.toList())'将一个流中的元素收集到一个列表中。在这种情况下,'.toList()'将流中的元素收集到一个新的'List'对象中。
如果你想将数据放入已经创建好的对象中,你可以使用'collect(Collectors.toCollection())',并提供一个已经创建好的集合实例作为参数。例如,如果你想将数据放入一个已经创建好的'ArrayList'对象中,你可以这样写:
List<SuggestedLevelVO> suggestedLevels = MapUtils.emptyIfNull(wightLevelNameGroup).keySet().stream()
.map(wightLevelName -> getSuggestedLevelVO(empCodeAndDeptNameNames, wightLevelNameGroup, wightLevelName))
.collect(Collectors.toCollection(ArrayList::new));
这将把流中的元素收集到一个已经创建好的'ArrayList'对象'suggestedLevels'中。你也可以使用其他类型的集合,只需替换'ArrayList::new'为相应的构造函数引用即可。
原文地址: https://www.cveoy.top/t/topic/qBUt 著作权归作者所有。请勿转载和采集!