// onjava/CollectionData.java // A Collection filled with data using a generator object. package onjava; import java.util.*; import java.util.function.*; public class CollectionData extends ArrayList { public CollectionData(Supplier gen, int quantity) { for(int i = 0; i < quantity; i++) add(gen.get()); } // A generic convenience method: public static CollectionData list(Supplier gen, int quantity) { return new CollectionData<>(gen, quantity); } }