我正在尝试使用新的流功能将字符串列表扩展为更长的列表。
segments = segments.stream() //segments is a List<String>
.map(x -> x.split("-"))
.collect(Collectors.toList());
但是,List<String[]>()
这会产生一个,当然不会编译。如何将最终流简化为一个列表?
用途flatMap
:
segments = segments.stream() //segments is a List<String>
.map(x -> x.split("-"))
.flatMap(Arrays::stream)
.collect(Collectors.toList());
您还可以使用Pattern.splitAsStream
以下方法删除中间数组:
segments = segments.stream() //segments is a List<String>
.flatMap(Pattern.compile("-")::splitAsStream)
.collect(Collectors.toList());
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句