net.cscott.jutil
public abstract class ListFactory<V> extends CollectionFactory<V>
ListFactory
is a List
generator.
Subclasses should implement constructions of specific types of
List
s. ListFactory
also has a set of
static helper methods for building List
objects.
Note also that the current limitations on parametric types in
Java mean that we can't easily type this class as
ListFactory<L extends List<V>,V>
,
as ListFactory<LinkedList<V>,V>
is not
a subtype of ListFactory<List<V>,V>
,
even though LinkedList
is a subtype of List
.
Version: $Id: ListFactory.java,v 1.2 2004/01/13 20:47:05 cananian Exp $
Constructor Summary | |
---|---|
ListFactory() Creates a ListFactory . |
Method Summary | |
---|---|
static <E> List<E> | concatenate(List<List<E>> lists) Creates and returns an unmodifiable List view of
the list made from connecting lists together in
order.
|
List<V> | makeCollection() |
List<V> | makeCollection(int initCapacity) |
List<V> | makeCollection(Collection<? extends V> c) |
List<V> | makeList() Generates a new, mutable, empty List . |
List<V> | makeList(int initialCapacity) Generates a new, mutable, empty List , using
initialCapacity as a hint to use for the capacity
for the produced List . |
abstract List<V> | makeList(Collection<? extends V> c) Generates a new mutable List , using the elements
of c as a template for its initial contents. |
static <E> List<E> | singleton(E o) Creates and returns an immutable List of one element.
|
ListFactory
.List
view of
the list made from connecting lists
together in
order.
lists
is a
List
of List
s.
let l0 = (List) lists.get(0) l1 = (List) lists.get(1) ... ln = (List) lists.get(n) where n is lists.size()-1 returns a list view [ l0.get(0) , l0.get(1), ... , l0.get(l0.size()-1), l1.get(0) , l1.get(1), ... , l1.get(l1.size()-1), ... ln.get(0) , ln.get(1), ... , ln.get(ln.size()-1) ]Note that not only changes to the elements of
lists
are reflected in the returned
List
, but even changes to lists
itself (adding or removing lists) are also reflected.List
.List
, using
initialCapacity
as a hint to use for the capacity
for the produced List
.List
, using the elements
of c
as a template for its initial contents.List
of one element.