edu.rice.cs.plt.collect
Class AbstractInjectiveRelation.InverseInjectiveRelation
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractSet<T>
edu.rice.cs.plt.collect.AbstractPredicateSet<Pair<T2,T1>>
edu.rice.cs.plt.collect.AbstractRelation.InverseRelation
edu.rice.cs.plt.collect.AbstractInjectiveRelation.InverseInjectiveRelation
- All Implemented Interfaces:
- FunctionalRelation<T2,T1>, PredicateSet<Pair<T2,T1>>, Relation<T2,T1>, SizedIterable<Pair<T2,T1>>, Lambda<T2,T1>, Predicate<Object>, Predicate2<T2,T1>, Serializable, Iterable<Pair<T2,T1>>, Collection<Pair<T2,T1>>, Set<Pair<T2,T1>>
- Enclosing class:
- AbstractInjectiveRelation<T1,T2>
protected class AbstractInjectiveRelation.InverseInjectiveRelation
- extends AbstractRelation.InverseRelation
- implements FunctionalRelation<T2,T1>
An inverse of the enclosing relation. Extends AbstractRelation.InverseRelation with
the methods necessary to implement FunctionalRelation.
- See Also:
- Serialized Form
|
Method Summary |
LambdaMap<T2,T1> |
functionMap()
A map view of the relation, mapping firsts to seconds. |
Relation<T1,T2> |
inverse()
Produce the inverse of the relation, derived by swapping the elements of each pair. |
T1 |
value(T2 first)
Produce the second corresponding to first, or null if there is none. |
| Methods inherited from class edu.rice.cs.plt.collect.AbstractRelation.InverseRelation |
add, add, clear, contains, contains, containsFirst, containsSecond, excludeFirsts, excludeSeconds, firstSet, hasFixedSize, isEmpty, isInfinite, isStatic, iterator, matchFirst, matchSecond, remove, remove, secondSet, size, size |
| Methods inherited from interface edu.rice.cs.plt.collect.Relation |
contains, contains, containsFirst, containsSecond, excludeFirsts, excludeSeconds, firstSet, matchSecond, remove, remove, secondSet |
| Methods inherited from interface java.util.Set |
addAll, clear, containsAll, equals, hashCode, isEmpty, iterator, removeAll, retainAll, size, toArray, toArray |
AbstractInjectiveRelation.InverseInjectiveRelation
protected AbstractInjectiveRelation.InverseInjectiveRelation()
value
public T1 value(T2 first)
- Description copied from interface:
FunctionalRelation
- Produce the second corresponding to
first, or null if there is none.
- Specified by:
value in interface FunctionalRelation<T2,T1>- Specified by:
value in interface Lambda<T2,T1>
functionMap
public LambdaMap<T2,T1> functionMap()
- Description copied from interface:
FunctionalRelation
- A map view of the relation, mapping firsts to seconds. Need not allow mutation, but must
reflect subsequent changes.
- Specified by:
functionMap in interface FunctionalRelation<T2,T1>
inverse
public Relation<T1,T2> inverse()
- Description copied from interface:
Relation
- Produce the inverse of the relation, derived by swapping the elements of each pair. Need not
allow mutation, but must reflect subsequent changes.
- Specified by:
inverse in interface FunctionalRelation<T2,T1>- Specified by:
inverse in interface Relation<T2,T1>- Overrides:
inverse in class AbstractRelation.InverseRelation