Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import static java.util.stream.IntStream.range;
- import static java.util.stream.IntStream.rangeClosed;
- private List<String> possibleNgrams(String[] words) {
- return rangeClosed(1, words.length)
- .mapToObj(
- window ->
- rangeClosed(0, words.length - window)
- .mapToObj(
- i ->
- range(i, i + window)
- .mapToObj(x -> words[x])
- .collect(Collectors.joining(" "))))
- .flatMap(Function.identity())
- .collect(Collectors.toList());
- }
- System.out.println(possibleNgrams("pale ale beer".split("\\s+"))
- > ["pale ale beer", "pale ale", "ale beer", "pale", "ale", "beer"]
Add Comment
Please, Sign In to add comment