As an aside, as each term of this particular sequence only depends on the index, not the previous term, the cleanest way would be to just map an index sequence:
// Full overflow prevention left as an exercise to the reader
IntStream.rangeClosed(0, Integer.MAX_VALUE).map(n -> Math.pow(n, 2))