How to generate a list of given length in Java 8?
java, java-8, python
Solution
I am not Python developer so I may misunderstood your example, but judging from Java example you may be looking for something like
Stream.generate(this::generate).limit(length).collect(Collectors.toList());
But as Brian Goetz mentioned your approach
IntStream.range(0, length).mapToObj(i->...)
will perform significantly better in parallel.
Problem
I want to create a list (or collection in general) by calling a method x times. In Python it would be something like this. ``` self.generated = [self.generate() for _ in range(length)] ``` I tried to code something similar in JDK 8. ``` this.generated = IntStream.range(0, length) .mapToObj(n -> this.generate()) .collect(Collectors.toList()); ``` It works, but somehow it doesn't feel allright. Is there a more proper way of doing it?