// "Collapse loop with stream 'collect()'" "true-preview" import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; class Test { public static List> fromString(final T src, Function> extractor) { final List> result = extractor.apply(src).stream().map(st -> new TokenFilter(st)).collect(Collectors.toList()); return result; } static class TokenFilter { public TokenFilter(String s) { } } }