0
List<Integer> list = new LinkedList<>();
for (int i = 0; i < upperBound; i += step) {
list.add(i);
}
我怎麼能取代它的功能與風格的流?
謝謝
List<Integer> list = new LinkedList<>();
for (int i = 0; i < upperBound; i += step) {
list.add(i);
}
我怎麼能取代它的功能與風格的流?
謝謝
你的循環看起來不錯。
如果您絕對想使用流,您可以創建一個IntStream
並將其放入List
。例如:
int elementCount = upperBound/step;
if (upperBound % step != 0) elementCount++;
List<Integer> list = IntStream.range(0, elementCount)
.map(i -> i * step)
.boxed()
.collect(toCollection(LinkedList::new));
請注意,定義上限並非易事。
您可以使用IntStream
的range
功能:
List<Integer> collect = IntStream.range(startRange, upperBound).filter(x -> (x % step) == 0).boxed().collect(toCollection(LinkedList::new));
你可以找到在這個answer
爲什麼你想這樣做的更多信息?背後有邏輯嗎? – Nathan