【发布时间】:2019-07-24 22:12:49
【问题描述】:
我有这种方法,它需要一些列表,其中包含书籍行。我将它们组合成一个流,然后遍历它们以拆分所有非字母的\\P{L}。
有没有办法避免 for-each 循环并在流中处理它?
private List<String> getWordList(List<String>... lists) {
List<String> wordList = new ArrayList<>();
Stream<String> combinedStream = Stream.of(lists)
.flatMap(Collection::stream);
List<String> combinedLists = combinedStream.collect(Collectors.toList());
for (String line: combinedLists) {
wordList.addAll(Arrays.asList(line.split("\\P{L}")));
}
return wordList;
}
【问题讨论】:
标签: java regex string java-8 java-stream