Java 8 - fill ArrayList

扶醉桌前 提交于 2019-12-29 07:46:25

问题


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);

回答1:


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).

For example, to fill a List of 10 new ScheduleIntervalContainer objects:

List<ScheduleIntervalContainer> scheduleIntervalContainers = 
        Stream.generate(ScheduleIntervalContainer::new).limit(10).collect(toList());

The generate method takes a Supplier: in this case, the supplier is a method reference creating new instance of ScheduleIntervalContainer each time.



来源:https://stackoverflow.com/questions/33140535/java-8-fill-arraylist

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!