Java 8 - 填充ArrayList [英] Java 8 - fill ArrayList
问题描述
有没有更好的方法来填充像这样的 ArrayList
(我在Java 7中这样做了):
Is there a better way to fill an ArrayList
like this (I have done it like this in Java 7):
List<ScheduleIntervalContainer> scheduleIntervalContainers = new ArrayList<>();
scheduleIntervalContainers.add(scheduleIntervalContainer);
推荐答案
填写列表
,可以使用 Stream api / java / util / stream / Stream.html#generate-java.util.function.Supplier - > Stream.generate(s)
然后限制 的结果数量limit(maxSize)
。
To fill a List
, it is possible to generate an infinite Stream
using Stream.generate(s)
and then limit the number of results with limit(maxSize)
.
例如,填写列表
10个新 ScheduleIntervalContainer
对象:
For example, to fill a List
of 10 new ScheduleIntervalContainer
objects:
List<ScheduleIntervalContainer> scheduleIntervalContainers =
Stream.generate(ScheduleIntervalContainer::new).limit(10).collect(toList());
生成
方法需要供应商
:在这种情况下,供应商是每次创建 ScheduleIntervalContainer
的新实例的方法参考。
The generate
method takes a Supplier
: in this case, the supplier is a method reference creating new instance of ScheduleIntervalContainer
each time.
这篇关于Java 8 - 填充ArrayList的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!