The Java Collections
class has the following method:
static <T> List<T> nCopies(int n, T o)
I need a similar method, but slightly more generic, which provides n instances of a given class. Something like:
static <T> List<T> nInstances(int n, Supplier<T> supplier)
In particular, if supplier
is Supplier.ofInstance(o)
, we get the same behavior as the nCopies()
method. Is there such a method somewhere in the Guava API?
Thank you.
No, but it's easy enough to implement:
public static <T> List<T> nInstances(int n, Supplier<T> supplier){
List<T> list = Lists.newArrayListWithCapacity(n);
for(int i = 0; i < n; i++){
list.add(supplier.get());
}
return list;
}