|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||
See:
Description
| Interface Summary | |
|---|---|
| Builder<E,R> | Builders provide efficient implementations for incrementally building persistent collections. |
| BuilderFactory<E,R> | BuilderFactory defines a factory interface for creating Builder instances. |
| Function<P,R> | A generic function interface that takes a single parameter. |
| IndexedList<E> | IndexedList implementations guarantee fast random access to elements via List.get(int). |
| Iterable<E> | Iterable defines collections that can be accessed via an Iterator. |
| KeyFunction<K,V> | KeyFunction defines the interface for extracting a key from a value. |
| LinkedList<E> | LinkedList implementations guarantee fast access to the head via List.first()
and tail via LinkedList.tail(). |
| List<E> | List defines an sequence of elements where the order is preserved. |
| Map<K,V> | Map defines the interface for maps that associate keys with values. |
| Set<E> | Set defines the interface for a unique set of values as defined by Object.equals(Object). |
| SortedMap<K,V> | SortedMap defines the interface for maps that are sorted by their key. |
| SortedSet<E> | SortedSet defines the interface for sets that are sorted. |
| Traversable<E> | Traversable is the root of the collection hierarchy. |
| Class Summary | |
|---|---|
| ArrayList<E> | ArrayList is an IndexedList implementation backed by an array. |
| ConsList<E> | ConsList is a functional LinkedList implementation
that constructs a list by prepending an element to another list. |
| DerivedKeyHashMap<K,V> | DerivedKeyHashMap is a HashMap variant where the key for the Map is derived from the value stored. |
| HashMap<K,V> | HashMap is an implementation of Map based on a hash trie. |
| HashSet<E> | HashSet is an implementation of Set backed by a HashMap. |
| IdentityKeyFunction<E> | IdentityKeyFunction is a KeyFunction where the value can be used as a key. |
| IndexedLists | IndexedLists is the preferred method of constructing instances of IndexedList. |
| LinkedLists | LinkedLists is the preferred method of constructing instances of LinkedList. |
| Maps | Maps is the preferred method of constructing instances of Map. |
| Pair<C1,C2> | Pair is a generic container for two components of specified types. |
| Sets | Sets is the preferred method of constructing instances of Set. |
| SortedMaps | SortedMaps is the preferred method of constructing instances of SortedMap. |
| SortedSets | SortedSets is the preferred method of constructing instances of SortedSet. |
| TreeMap<K,V> | TreeMap is an implementation of SortedMap based on a
red-black tree. |
| TreeSet<E> | TreeSet is an implementation of SortedSet backed by a TreeMap. |
| Vector<E> | Vector is a general-purpose, immutable data structure. |
Dexx collections are a port of Scala's immutable, persistent collection classes to pure Java.
Persistent in the context of functional data structures means the data structure preserves the previous version of itself when modified. This means any reference to a collection is effectively immutable. However, modifications can be made by returning a new version of the data structure, leaving the original structure unchanged.
The following diagram shows the key interfaces (blue) and classes (green) in this package:
Usage Notes:
Set,
use the Sets class.
java.util counterparts, however
they are not directly related. This is due to the interfaces being fundamentally incompatible as
operations the "modify" collections must return a new instance for persistent collections.
java.util counterpart by using as...() methods.
e.g. Set.asSet(). Such views are immutable.
java.util collections by using the copyOf(...)
methods in the companion classes. e.g. Sets.copyOf(java.lang.Iterable).
Set that does not exist
may return the same collection as no modifications were required.
See the project site for further examples and information.
|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||