public abstract class CollectionFactory<V>
extends java.lang.Object
CollectionFactory is a Collection
generator. Subclasses should implement constructions of specific
types of Collections.
Note that since some types of Collections have
implicit constraints (such as Sets, which cannot
contain more than one of the same element), code which uses the
classes produced by CollectionFactorys must take care
not to assume more than what is guaranteed by the
Collection interface.
Note also that the current limitations on parametric types in
Java mean that we can't easily type this class as
CollectionFactory<C extends Collection<V>,V>,
as CollectionFactory<Set<V>,V> is not
a subtype of CollectionFactory<Collection<V>,V>,
even though Set is a subtype of Collection.
| Constructor and Description |
|---|
CollectionFactory()
Creates a
CollectionFactory. |
| Modifier and Type | Method and Description |
|---|---|
java.util.Collection<V> |
makeCollection()
Generates a new, mutable, empty
Collection. |
abstract java.util.Collection<V> |
makeCollection(java.util.Collection<? extends V> c)
Generates a new, mutable
Collection, using the
elements of c as a template for its initial
contents. |
java.util.Collection<V> |
makeCollection(int initialCapacity)
Generates a new, mutable, empty
Collection, using
initialCapacity as a hint to use for the capacity
for the produced Collection. |
public CollectionFactory()
CollectionFactory.public java.util.Collection<V> makeCollection()
Collection.public java.util.Collection<V> makeCollection(int initialCapacity)
Collection, using
initialCapacity as a hint to use for the capacity
for the produced Collection.public abstract java.util.Collection<V> makeCollection(java.util.Collection<? extends V> c)
Collection, using the
elements of c as a template for its initial
contents. Note that the Collection returned is
not a view of c, but rather a snapshot;
changes to c are not reflected in the returned
Collection.Copyright (c) 2006 C. Scott Ananian