Package uk.ac.starlink.table.join
Interface LinkSet
-
- All Superinterfaces:
java.lang.Iterable<RowLink>
public interface LinkSet extends java.lang.Iterable<RowLink>
Holds an unordered collection of uniqueRowLinkobjects. The set is understood to be mutable - that is the methods (includingiterator().remove()should not throwUnsupportedOperationExceptions.Although its methods are very similar to those of a
Set, this is not aSetimplementation. This is because it will have a pretty specialised use - in particular you should usually treat it as though it may contain a very large number of elements and hence think carefully about efficiency of access methods rather than take advantage of the convenience methods available in the Collections package.- Since:
- 7 Sep 2005
- Author:
- Mark Taylor
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddLink(RowLink link)Adds a new link to this set.booleancontainsLink(RowLink link)Indicates whether this set contains a given link.java.util.Iterator<RowLink>iterator()Returns an iterator over the elements of this set.booleanremoveLink(RowLink link)Removes an existing link from this set.intsize()Returns the number of items in this set.java.util.Collection<RowLink>toSorted()Returns a collection of RowLink objects that has the same content as this LinkSet, but with entries in their natural (Comparable) order.
-
-
-
Method Detail
-
addLink
void addLink(RowLink link)
Adds a new link to this set. If the set has any existing entries equivalent tolink(byequals) they should be removed.- Parameters:
link- row link to add
-
containsLink
boolean containsLink(RowLink link)
Indicates whether this set contains a given link.- Parameters:
link- link to test- Returns:
- true iff this set contains an entry equal to
link
-
removeLink
boolean removeLink(RowLink link)
Removes an existing link from this set.- Parameters:
link- link to remove- Returns:
- true iff
linkwas there in the first place
-
iterator
java.util.Iterator<RowLink> iterator()
Returns an iterator over the elements of this set.- Specified by:
iteratorin interfacejava.lang.Iterable<RowLink>- Returns:
- iterator, which should have a working
remove()method
-
size
int size()
Returns the number of items in this set.- Returns:
- set size
-
toSorted
java.util.Collection<RowLink> toSorted()
Returns a collection of RowLink objects that has the same content as this LinkSet, but with entries in their natural (Comparable) order.The result is not intended for modification; it may or may not be backed by this object, so subsequent modifications of this LinkSet while it's in use are not recommended.
- Returns:
- unmodifiable sorted collection of the row links in this set
-
-