Package edu.rice.cs.plt.collect

Contains general-purpose extensions to and variations on the java.util collections framework.

See:
          Description

Interface Summary
FunctionalRelation<T1,T2> A functional relation: each first (of type T1) corresponds to at most one second (of type T2).
InjectiveRelation<T1,T2> An injective relation: each second (of type T2) corresponds to at most one first (of type T1).
LambdaMap<K,V> A Map that can be treated as a Lambda.
Multiset<T> A set-like collection that allows multiple instances of a value to be represented in the collection.
OneToOneRelation<T1,T2> A injective functional relation: each first (of type T1) corresponds to at most one second (of type T2), and vice versa.
Order<T> A reflexive, transitive relation, represented as a predicate.
PredicateSet<T> A Set that can be treated as a Predicate and as a SizedIterable.
Relation<T1,T2> A set of pairs representing a binary relation.
Relation3<T1,T2,T3> A set of triples representing a ternary relation.
Relation4<T1,T2,T3,T4> A set of quads representing a quaternary relation.
RelationIndex<K,V> Maintains an index mapping values of one type to sets of another.
 

Class Summary
AbstractFunctionalRelation<T1,T2> An abstract parent class for implementations of FunctionalRelation.
AbstractInjectiveRelation<T1,T2> An abstract parent class for implementations of InjectiveRelation.
AbstractKeyBasedMap<K,V> An abstract parent class for Map implementations that defines its operations in terms of the key-based methods get() and keySet().
AbstractOneToOneRelation<T1,T2> An abstract parent class for implementations of OneToOneRelation.
AbstractPredicateSet<T> An extension of AbstractSet that implements the PredicateSet interface.
AbstractRelation<T1,T2> An abstract parent class for implementations of Relation.
CartesianRelation<T1,T2> A Relation representing the cartesian (or cross) product of two sets.
CollectUtil  
CollectUtilTest Tests for the CollectUtil methods
ComplementRelation<T1,T2> The complement of a relation excluded in a domain domain (alternatively, domain - excluded), constructed lazily and updated dynamically.
ComplementSet<E> The complement of a set excluded in a domain domain (alternatively, domain - excluded), constructed lazily and updated dynamically.
ComposedMap<K,X,V> The transitive composition of two maps, lazily constructed and dynamically-updated.
ComposedRelation<T1,T2,T3> The transitive composition of two relations, lazily constructed and dynamically-updated.
ConcreteRelationIndex<K,V> A RelationIndex implementation that maintains concrete data structures to index the contents of the relation.
ConcreteRelationIndexTest  
ConsList<T> A Lisp- or Scheme-style immutable list.
ConsList.Empty<T> The empty variant of a ConsList.
ConsList.Nonempty<T> The nonempty variant of a ConsList.
ConsListTest Tests the ConsList and ConsVisitor methods and visitors
ConsVisitor<T,Ret> A visitor for ConsLists.
DelegatingCollection<T> A collection that delegates all operations to a wrapped collection.
DelegatingList<E> An implementation of List that delegates all operations to a wrapped list.
DelegatingMap<K,V> A map that delegates all operations to a wrapped map.
DelegatingRelation<T1,T2> A relation that delegates all operations to a wrapped relation.
DelegatingSet<T> An implementation of PredicateSet that delegates all operations to a wrapped set.
DictionaryMap<K,V> A map wrapping a Dictionary object.
EmptyCollection<T> Abstract parent class of immutable empty collections.
EmptyMap<K,V> An empty LambdaMap.
EmptyRelation<T1,T2> An immutable, empty, one-to-one relation.
EmptySet<E> An immutable empty PredicateSet.
ExternallySortedMultiMap<K,V,C extends Comparable<? super C>> Maps from a key to a set of values; a key may be added multiple times with different values, and those values are collected in a set.
ExternallySortedSet<T,C extends Comparable<? super C>> A container class that almost implements the SortedSet interface; the difference is that add() takes two parameters -- an element, along with a corresponding Comparable that will be used to sort the set.
FilteredRelation<T1,T2> A relation that contains only those pairs contained by both the given relation and the given predicate.
FilteredSet<T> A set that contains only those elements contained by both the given set and the given predicate.
HashMultiset<T> A HashMap-based implementation of Multiset.
ImmutableCollection<T> Wraps a collection in an immutable interface.
ImmutableMap<K,V> Wraps a map in an immutable interface.
ImmutableMapEntry<K,V> An implementation of Map.Entry that does not support the ImmutableMapEntry.setValue(V) operation; all other methods are delegated to a wrapped Entry.
ImmutableRelation<T1,T2> Wraps a relation in an immutable interface.
ImmutableSet<T> Wraps a set in an immutable interface.
IndexedFunctionalRelation<T1,T2> An implementation of the FunctionalRelation interface based on indexing maps.
IndexedInjectiveRelation<T1,T2> A hash code-based implementation of the InjectiveRelation interface.
IndexedOneToOneRelation<T1,T2> A implementation of OneToOneRelation based on indexing maps.
IndexedRelation<T1,T2> An implementation of the Relation interface based on indexing maps.
IntersectionRelation<T1,T2> The intersection of two relations, lazily constructed and updated dynamically.
IntersectionSet<E> The intersection of two sets, lazily constructed and updated dynamically.
IterableCollection<E> A Collection wrapping an Iterable.
IterableSet<E> A Set wrapping an Iterable.
LazyRelationIndex<K,V> A RelationIndex implementation defined lazily in terms of the contents of a dynamic list of pairs.
ListenerSet<T> A mutable set of listeners.
MappedMap<K,X,V> A map whose value set is translated by a mapping lambda.
MutableRelationTest Tests for mutable relations (IndexedRelation, UnindexedRelation).
SingletonMap<K,V> An immutable LambdaMap containing a single entry.
SingletonRelation<T1,T2> An immutable Relation containing a single pair.
SingletonSet<E> An immutable PredicateSet with a single element.
SnapshotSynchronizedList<E> A synchronized list like Collections.synchronizedList(java.util.List), but one that returns a snapshot of the list contents on invocations of iterator().
SnapshotSynchronizedSet<E> A synchronized set like Collections.synchronizedSet(java.util.Set), but one that returns a snapshot of the set contents on invocations of iterator().
TotalMap<K,V> A map that is defined for all values in the domain K.
TotalOrder<T> A Comparator that implements Order.
UnindexedRelation<T1,T2> A mutable relation implemented by wrapping a set of pairs.
UnionMap<K,V> A lazily-constructed and dynamically-updated union of two maps.
UnionRelation<T1,T2> The union of two relations, lazily constructed and updated dynamically.
UnionSet<E> The union of two sets, lazily constructed and updated dynamically.
WeakHashSet<T> A Set implementation that has similar semantics to WeakHashMap.
WeakHashSetTest A JUnit test case class for WeakHashSet.
 

Package edu.rice.cs.plt.collect Description

Contains general-purpose extensions to and variations on the java.util collections framework.