Package org.apache.cassandra.utils
Class MergeIterator<In,Out>
- java.lang.Object
-
- org.apache.cassandra.utils.AbstractIterator<Out>
-
- org.apache.cassandra.utils.MergeIterator<In,Out>
-
- All Implemented Interfaces:
com.google.common.collect.PeekingIterator<Out>
,java.lang.AutoCloseable
,java.util.Iterator<Out>
,CloseableIterator<Out>
,IMergeIterator<In,Out>
public abstract class MergeIterator<In,Out> extends AbstractIterator<Out> implements IMergeIterator<In,Out>
Merges sorted input iterators which individually contain unique items.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
MergeIterator.Candidate<In>
static class
MergeIterator.Reducer<In,Out>
Accumulator that collects values of type A, and outputs a value of type B.
-
Constructor Summary
Constructors Modifier Constructor Description protected
MergeIterator(java.util.List<? extends java.util.Iterator<In>> iters, MergeIterator.Reducer<In,Out> reducer)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
static <In,Out>
MergeIterator<In,Out>get(java.util.List<? extends java.util.Iterator<In>> sources, java.util.Comparator<? super In> comparator, MergeIterator.Reducer<In,Out> reducer)
java.lang.Iterable<? extends java.util.Iterator<In>>
iterators()
-
Methods inherited from class org.apache.cassandra.utils.AbstractIterator
computeNext, endOfData, hasNext, next, peek, remove
-
-
-
-
Field Detail
-
reducer
protected final MergeIterator.Reducer<In,Out> reducer
-
iterators
protected final java.util.List<? extends java.util.Iterator<In>> iterators
-
-
Constructor Detail
-
MergeIterator
protected MergeIterator(java.util.List<? extends java.util.Iterator<In>> iters, MergeIterator.Reducer<In,Out> reducer)
-
-
Method Detail
-
get
public static <In,Out> MergeIterator<In,Out> get(java.util.List<? extends java.util.Iterator<In>> sources, java.util.Comparator<? super In> comparator, MergeIterator.Reducer<In,Out> reducer)
-
iterators
public java.lang.Iterable<? extends java.util.Iterator<In>> iterators()
- Specified by:
iterators
in interfaceIMergeIterator<In,Out>
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfaceCloseableIterator<In>
- Overrides:
close
in classAbstractIterator<Out>
-
-