soo*_*man 3 java for-loop java-8
我现在开始使用java8.我想知道如何迭代循环n次并添加到列表中:
List orderDayList = new ArrayList<>();
IntStream.rangeClosed(1, 28).forEach(value -> {
orderDayList.add(value);
});
Run Code Online (Sandbox Code Playgroud)
上面的代码正在运行.这是正确的方法还是有其他方法可以实现?
谢谢
Verbatim就像这样,有一个Collector:
List<Integer> orderDayList =
IntStream.rangeClosed(1, 28)
.boxed()
.collect(Collectors.toCollection(ArrayList::new));
Run Code Online (Sandbox Code Playgroud)
如果我们不关心的类型有点短List:
List<Integer> orderDayList =
IntStream.rangeClosed(1, 28)
.boxed()
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
请参阅Collectors+ 教程.
这是正确的方法[...]?
好吧,从lambda内部修改外部世界被认为是草率的形式,但这对于这么简单的事情并没有真正有用.
另外,为了让你思考,你的lambda可以写成方法参考:
IntStream.rangeClosed(1, 28)
.forEach(orderDayList::add);
Run Code Online (Sandbox Code Playgroud)