Java 8 - fill ArrayList(Java 8 - 填充 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);
推荐答案
为了填充一个List
,可以使用Streamhttps://docs.oracle.com/javase/8/docs/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
对象的 List
:
For example, to fill a List
of 10 new ScheduleIntervalContainer
objects:
List<ScheduleIntervalContainer> scheduleIntervalContainers =
Stream.generate(ScheduleIntervalContainer::new).limit(10).collect(toList());
generate
方法采用 Supplier
:在这种情况下,supplier 是每次创建 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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Java 8 - 填充 ArrayList
基础教程推荐
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- 降序排序:Java Map 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01