TTT:
Por ejemplo, tengo una lista de números enteros, como List(1,2,3,4,5,6,7)
Quiero obtener todas las combinaciones de consectuive 3 números en Java 8 manera más funcional para aprender Java 8. (sé cómo hacerlo de una manera imperativa)
Así, el resultado de más arriba puede ser una lista de lista como:
List(List(1,2,3), List(2,3,4), List(3,4,5), List(4,5,6), List(5,6,7))
Gracias
también:
Puede hacerlo utilizando List.subList
al iterar sobre ella:
final int subListSize = 3;
List<Integer> list = List.of(1, 2, 3, 4, 5, 6, 7);
List<List<Integer>> sublists = IntStream.rangeClosed(0, list.size() - subListSize)
.mapToObj(i -> list.subList(i, i + subListSize))
.collect(Collectors.toList());