|
JUtil | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.cscott.jutil.CollectionFactory<V> net.cscott.jutil.ListFactory<V>
public abstract class ListFactory<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
.
Constructor Summary | |
---|---|
ListFactory()
Creates a ListFactory . |
Method Summary | ||
---|---|---|
static
|
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()
Generates a new, mutable, empty Collection . |
|
List<V> |
makeCollection(Collection<? extends V> c)
Generates a new, mutable Collection , using the
elements of c as a template for its initial
contents. |
|
List<V> |
makeCollection(int initCapacity)
Generates a new, mutable, empty Collection , using
initialCapacity as a hint to use for the capacity
for the produced Collection . |
|
List<V> |
makeList()
Generates a new, mutable, empty 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. |
|
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 . |
|
static
|
singleton(E o)
Deprecated. Use Collections.singletonList instead. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ListFactory()
ListFactory
.
Method Detail |
---|
public final List<V> makeCollection()
CollectionFactory
Collection
.
makeCollection
in class CollectionFactory<V>
public final List<V> makeCollection(int initCapacity)
CollectionFactory
Collection
, using
initialCapacity
as a hint to use for the capacity
for the produced Collection
.
makeCollection
in class CollectionFactory<V>
public final List<V> makeCollection(Collection<? extends V> c)
CollectionFactory
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
.
makeCollection
in class CollectionFactory<V>
public List<V> makeList()
List
.
public List<V> makeList(int initialCapacity)
List
, using
initialCapacity
as a hint to use for the capacity
for the produced List
.
public abstract List<V> makeList(Collection<? extends V> c)
List
, using the elements
of c
as a template for its initial contents.
public static <E> List<E> concatenate(List<List<E>> lists)
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.
public static <E> List<E> singleton(E o)
Collections.singletonList
instead.
List
of one element.
|
JUtil | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |