## Package org.apache.commons.collections.list

This package contains implementations of the `List` interface.

See:
Description

Class Summary
AbstractLinkedList: An abstract implementation of a linked list which provides numerous points for subclasses to override.
AbstractLinkedList.LinkedListIterator: A list iterator over the linked list.
AbstractLinkedList.LinkedSubList: The sublist implementation for AbstractLinkedList.
AbstractLinkedList.LinkedSubListIterator: A list iterator over the linked sub list.
AbstractLinkedList.Node: A node within the linked list.
AbstractListDecorator: Decorates another `List` to provide additional behaviour.
AbstractSerializableListDecorator: Serializable subclass of AbstractListDecorator.
CursorableLinkedList: A `List` implementation with a `ListIterator` that allows concurrent modifications to the underlying list.
CursorableLinkedList.Cursor: An extended `ListIterator` that allows concurrent changes to the underlying list.
CursorableLinkedList.SubCursor: A cursor for the sublist based on LinkedSubListIterator.
FixedSizeList: Decorates another `List` to fix the size preventing add/remove.
GrowthList: Decorates another `List` to make it seamlessly grow when indices larger than the list size are used on add and set, avoiding most IndexOutOfBoundsExceptions.
LazyList: Decorates another `List` to create objects in the list on demand.
NodeCachingLinkedList: A `List` implementation that stores a cache of internal Node objects in an effort to reduce wasteful object creation.
PredicatedList: Decorates another `List` to validate that all additions match a specified predicate.
SetUniqueList: Decorates a `List` to ensure that no duplicates are present much like a `Set`.
SynchronizedList: Decorates another `List` to synchronize its behaviour for a multi-threaded environment.
TransformedList: Decorates another `List` to transform objects that are added.
TreeList: A `List` implementation that is optimised for fast insertions and removals at any index in the list.
TypedList: Decorates another `List` to validate that elements added are of a specific type.
UnmodifiableList: Decorates another `List` to ensure it can't be altered.

## Package org.apache.commons.collections.list Description

This package contains implementations of the `List` interface.

The following implementations are provided in the package:

- TreeList - a list that is optimised for insertions and removals at any index in the list
- CursorableLinkedList - a list that can be modified while the listIterator (cursor) is being used
- NodeCachingLinkedList - a linked list that caches the storage nodes for a performance gain

The following decorators are provided in the package:

- Synchronized - synchronizes method access for multi-threaded environments
- Unmodifiable - ensures the collection cannot be altered
- Predicated - ensures that only elements that are valid according to a predicate can be added
- Typed - ensures that only elements that are of a specific type can be added
- Transformed - transforms each element added
- FixedSize - ensures that the size of the list cannot change
- Lazy - creates objects in the list on demand
- Growth - grows the list instead of erroring when set/add used with index beyond the list size
- SetUnique - a list that avoids duplicate entries like a Set

Copyright © 2001-2008 The Apache Software Foundation. All Rights Reserved.