bpg
11/7/2017 - 2:24 AM

Java8 Stream Sliding Window

Java8 Stream Sliding Window

    private static <T> Stream<List<T>> sliding(List<T> list, int size) {
        if (size > list.size()) {
            return Stream.empty();
        } else {
            return IntStream.range(0, list.size() - size + 1)
                    .mapToObj(start -> list.subList(start, start + size));
        }
    }