Module org.apache.lucene.core
Package org.apache.lucene.util
Class MergedIterator<T extends java.lang.Comparable<T>>
- java.lang.Object
-
- org.apache.lucene.util.MergedIterator<T>
-
- All Implemented Interfaces:
java.util.Iterator<T>
public final class MergedIterator<T extends java.lang.Comparable<T>> extends java.lang.Object implements java.util.Iterator<T>
Provides a merged sorted view from several sorted iterators.If built with
removeDuplicates
set to true and an element appears in multiple iterators then it is deduplicated, that is this iterator returns the sorted union of elements.If built with
removeDuplicates
set to false then all elements in all iterators are returned.Caveats:
- The behavior is undefined if the iterators are not actually sorted.
- Null elements are unsupported.
- If removeDuplicates is set to true and if a single iterator contains duplicates then they will not be deduplicated.
- When elements are deduplicated it is not defined which one is returned.
- If removeDuplicates is set to false then the order in which duplicates are returned isn't defined.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
MergedIterator.SubIterator<I extends java.lang.Comparable<I>>
private static class
MergedIterator.TermMergeQueue<C extends java.lang.Comparable<C>>
-
Field Summary
Fields Modifier and Type Field Description private T
current
private int
numTop
private MergedIterator.TermMergeQueue<T>
queue
private boolean
removeDuplicates
private MergedIterator.SubIterator<T>[]
top
-
Constructor Summary
Constructors Constructor Description MergedIterator(boolean removeDuplicates, java.util.Iterator<T>... iterators)
MergedIterator(java.util.Iterator<T>... iterators)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
hasNext()
T
next()
private void
pullTop()
private void
pushTop()
void
remove()
-
-
-
Field Detail
-
queue
private final MergedIterator.TermMergeQueue<T extends java.lang.Comparable<T>> queue
-
top
private final MergedIterator.SubIterator<T extends java.lang.Comparable<T>>[] top
-
removeDuplicates
private final boolean removeDuplicates
-
numTop
private int numTop
-
-
Method Detail
-
hasNext
public boolean hasNext()
-
next
public T next()
-
remove
public void remove()
-
pullTop
private void pullTop()
-
pushTop
private void pushTop()
-
-