A persistent and immutable analogue of the Java Collections API.
All of the provided implementations are thread-safe (although their iterators may not be) but this is not required by the interfaces.
The classes and interfaces in this package are related as follows.
Note the importance of IntTreePMap, which provides the backing for every
provided implementation except ConsPStack:
| Modifier and Type | Interface and Description |
|---|---|
| public interface | |
| public interface | |
| public interface | PMap<K, V>
An immutable, persistent map from keys of type K to values of type V. Some implementations may not support null keys and/or values, in which case they will throw
|
| public interface | |
| public interface | |
| public interface | |
| public interface | PSortedMap<
the type of keys maintained by this map K, the type of mapped values V>An immutable, persistent map from keys of type K to values of type V, with keys arranged in
sorted order (according to some |
| public interface | PSortedSet<
the type of elements maintained by this set E>An immutable, persistent set of distinct elements, with elements arranged in sorted order
(according to some |
| public interface | |
| public interface |
| Modifier and Type | Class and Description |
|---|---|
| public abstract class | AbstractUnmodifiableCollection<E>
A subclass of AbstractCollection that overrides the various mutator methods to mark them as deprecated and unconditionally throw UnsupportedOperationException. |
| public abstract class | AbstractUnmodifiableList<E>
A subclass of AbstractList that overrides the various mutator methods to mark them as deprecated and unconditionally throw UnsupportedOperationException. |
| public abstract class | AbstractUnmodifiableMap<
the type of keys maintained by this map K, the type of mapped values V>A subclass of AbstractMap that overrides the various mutator methods to mark them as deprecated and unconditionally throw UnsupportedOperationException. |
| public abstract class | AbstractUnmodifiableQueue<E>
A subclass of AbstractQueue that overrides the various mutator methods to mark them as deprecated and unconditionally throw UnsupportedOperationException. |
| public abstract class | AbstractUnmodifiableSequentialList<E>
A subclass of AbstractSequentialList that overrides the various mutator methods to mark them as deprecated and unconditionally throw UnsupportedOperationException. |
| public abstract class | AbstractUnmodifiableSet<
the type of elements maintained by this set E>A subclass of AbstractSet that overrides the various mutator methods to mark them as deprecated and unconditionally throw UnsupportedOperationException. |
| public class | |
| public class | |
| public class | Empty
A static utility class for getting empty PCollections backed by the 'default' implementations. |
| public class | |
| public class | HashTreePBag
A static convenience class for creating efficient persistent bags. |
| public class | HashTreePMap
A static convenience class for creating efficient persistent maps. |
| public class | HashTreePSet
A static convenience class for creating efficient persistent sets. |
| pack-priv class | |
| public class | |
| pack-priv class | KVTree<
the key type; serves as the key type for K, TreePMap, and as the element type for
TreePSet. This class provides various methods that maintain the ordering and
distinctness of keys based on a client-provided instance of Comparator<? super K>.the value type; serves as the value type for V>TreePMap. (Is ignored by TreePSet.)A persistent (immutable, purely functional) balanced-binary-tree implementation, with such
functionality as is needed to support implementations of |
| public class | |
| public class | |
| public class | |
| public class | |
| public class | TreePMap<
the type of keys maintained by this map K, the type of mapped values V>An implementation of |
| public class | TreePSet<
the type of elements maintained by this set E>An implementation of |
| public class |