import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Series {
private final int digitsSize;
private List<Integer> digits;
public Series(String string) {
this.digits = Arrays
.asList(string.split(("")))
.stream()
.map(digit -> Integer.parseInt(digit))
.collect(Collectors.toList());
this.digitsSize = this.digits.size();
}
public List<List<Integer>> slices(int num) {
if (num > this.digitsSize) {
throw new IllegalArgumentException("Slice size is too big.");
}
final int limit = this.digitsSize - num + 1;
List<List<Integer>> result = new ArrayList<>(limit);
List<Integer> tmp;
for (int i = 0; i < limit; i++) {
tmp = this.digits.subList(i, i + num);
result.add(tmp);
}
return result;
}
public List<Integer> getDigits() {
return digits;
}
}