See: Description
| Class | Description |
|---|---|
| CollectionAsSet<K> |
Implements a Set based on a Collection.
|
| GapList<E> |
GapList combines the strengths of both ArrayList and LinkedList.
|
| IList<E> |
GapList combines the strengths of both ArrayList and LinkedList.
|
| Key1Collection<E,K> |
Key1Collection implements a collection with 1 key.
|
| Key1Collection.Builder<E,K> |
Builder to construct Key1Collection instances.
|
| Key1List<E,K> |
Key2List implements a key list with 1 key.
|
| Key1List.Builder<E,K> |
Builder to construct Key1List instances.
|
| Key2Collection<E,K1,K2> |
Key2Collection implements a collection with 2 keys.
|
| Key2Collection.Builder<E,K1,K2> |
Builder to construct Key2Collection instances.
|
| Key2List<E,K1,K2> |
Key2List implements a key list with 2 keys.
|
| Key2List.Builder<E,K1,K2> |
Builder to construct Key2List instances.
|
| KeyCollection<E> |
KeyCollection implements a collection.
|
| KeyCollection.Builder<E> |
Builder to construct TableCollection instances.
|
| KeyCollectionAsMap<E,K> |
Implements a Map based on a KeyCollection key.
|
| KeyCollectionAsSet<E> |
Implements a Set based on a Collection.
|
| KeyCollectionImpl<E> |
Add:
- validation fails: null / constraint
- duplicate not allowed (mode replace)
Triggers:
- triggers are called after the add/remove operation has finished
- if an exception is thrown in the trigger, the change already made to the collection is not undone
|
| KeyCollectionImpl.BuilderImpl<E> |
Implementation of builder.
|
| KeyCollectionImpl.BuilderImpl.KeyMapBuilder<E,K> | |
| KeyList<E> |
KeyList implements a list.
|
| KeyList.Builder<E> |
Builder to construct KeyList instances.
|
| KeyListImpl<E> |
A KeyList add key handling features to GapList.
|
This packages contains collections extending the Java Collections Framework.
The class GapList combines the strengths of both ArrayList and LinkedList. It is implemented to offer both efficient random access to elements by index (as ArrayList does) and at the same time efficient adding and removing elements to and from beginning and end (as LinkedList does). It also exploits the locality of reference often seen in applications to further improve performance, e.g. for iterating over the list. GapList has been designed to be used as drop-in replacement for both ArrayList and LinkedList by offering all their methods. It has a high test coverage and also passes the Guava testsuite for lists. Additionally many more helpful methods are available.
Additionally there are List implementations for all primitive data types. As the storage is realized using arrays of primitives, memory is saved and execution speed increased. For each primitive list class like IntGapList there is also wrapper class IntObjGapList which allows you to access the primitive data through the standard List interface.
To increase developer productivity, keys and constraints have been added to collections in an orthogonal and declarative way. These features offered by classes implementing the Collection (classes KeyCollection, Key1Collection, Key2Collection) and the List interface (classes KeyList, Key1List, Key2List).