Class IntersectIteration<E,X extends Exception>
java.lang.Object
org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<E,X>
org.eclipse.rdf4j.common.iteration.IterationWrapper<E,X>
org.eclipse.rdf4j.common.iteration.FilterIteration<E,X>
org.eclipse.rdf4j.common.iteration.IntersectIteration<E,X>
- All Implemented Interfaces:
AutoCloseable
,CloseableIteration<E,
,X> Iteration<E,
X>
An Iteration that returns the intersection of the results of two Iterations. Optionally, the Iteration can be
configured to filter duplicates from the returned elements.
Note that duplicates can also be filtered by wrapping this Iteration in a DistinctIteration
, but that has a
bit more overhead as it adds a second hash table lookup.
-
Field Summary
Fields inherited from class org.eclipse.rdf4j.common.iteration.IterationWrapper
wrappedIter
-
Constructor Summary
ConstructorDescriptionIntersectIteration
(Iteration<? extends E, ? extends X> arg1, Iteration<? extends E, ? extends X> arg2) Creates a new IntersectIteration that returns the intersection of the results of two Iterations.IntersectIteration
(Iteration<? extends E, ? extends X> arg1, Iteration<? extends E, ? extends X> arg2, boolean distinct) Creates a new IntersectIteration that returns the intersection of the results of two Iterations.IntersectIteration
(Iteration<? extends E, ? extends X> arg1, Iteration<? extends E, ? extends X> arg2, boolean distinct, Supplier<Set<E>> setMaker) Creates a new IntersectIteration that returns the intersection of the results of two Iterations.IntersectIteration
(Iteration<? extends E, ? extends X> arg1, Iteration<? extends E, ? extends X> arg2, Supplier<Set<E>> setMaker) -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
Returns true if the object is in the set of elements of the second argument.protected long
protected void
Closes this Iteration and also closes the wrapped Iteration if it is aCloseableIteration
.protected boolean
inIncludeSet
(E object) makeSet()
protected boolean
removeFromIncludeSet
(E object) Methods inherited from class org.eclipse.rdf4j.common.iteration.FilterIteration
hasNext, next
Methods inherited from class org.eclipse.rdf4j.common.iteration.IterationWrapper
remove
Methods inherited from class org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration
close, isClosed
-
Field Details
-
arg2
-
-
Constructor Details
-
IntersectIteration
public IntersectIteration(Iteration<? extends E, ? extends X> arg1, Iteration<? extends E, ? extends X> arg2) Creates a new IntersectIteration that returns the intersection of the results of two Iterations. By default, duplicates are not filtered from the results.- Parameters:
arg1
- An Iteration containing the first set of elements.arg2
- An Iteration containing the second set of elements.
-
IntersectIteration
-
IntersectIteration
public IntersectIteration(Iteration<? extends E, ? extends X> arg1, Iteration<? extends E, ? extends X> arg2, boolean distinct) Creates a new IntersectIteration that returns the intersection of the results of two Iterations.- Parameters:
arg1
- An Iteration containing the first set of elements.arg2
- An Iteration containing the second set of elements.distinct
- Flag indicating whether duplicate elements should be filtered from the result.
-
IntersectIteration
public IntersectIteration(Iteration<? extends E, ? extends X> arg1, Iteration<? extends E, ? extends X> arg2, boolean distinct, Supplier<Set<E>> setMaker) Creates a new IntersectIteration that returns the intersection of the results of two Iterations.- Parameters:
arg1
- An Iteration containing the first set of elements.arg2
- An Iteration containing the second set of elements.distinct
- Flag indicating whether duplicate elements should be filtered from the result.
-
-
Method Details
-
accept
Returns true if the object is in the set of elements of the second argument. -
addSecondSet
-
removeFromIncludeSet
-
inIncludeSet
-
makeSet
-
handleClose
Description copied from class:IterationWrapper
Closes this Iteration and also closes the wrapped Iteration if it is aCloseableIteration
.- Overrides:
handleClose
in classFilterIteration<E,
X extends Exception> - Throws:
X
-
clearIncludeSet
protected long clearIncludeSet()
-