List integer = Stream.generate(new Supplier() {
int i = 0 ;
@Override
public Integer get() {
return ++i;
}
}).
If you want to stop either if number 5 is reached or 10 elements are collected, there's Stream.takeWhile() method added in Java-9:
List integer = Stream.generate(new Supplier() {
int i = 0 ;
@Override
public Integer get() {
return ++i;
}
}).takeWhile(j -> j < 5).limit(10).collect(Collectors.toList());