java.lang.Object
org.bitlap.roaringbitmap.buffer.RoaringBatchIterator
- 所有已实现的接口:
Cloneable,BatchIterator
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明voidadvanceIfNeeded(int target) If needed, advance as long as the next value is smaller than minval The advanceIfNeeded method is used for performance reasons, to skip over unnecessary repeated calls to next.clone()Creates a copy of the iterator.booleanhasNext()Returns true is there are more values to get.intnextBatch(int[] buffer) Writes the next batch of integers onto the buffer, and returns how many were written.从类继承的方法 java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait从接口继承的方法 org.bitlap.roaringbitmap.BatchIterator
asIntIterator
-
构造器详细资料
-
RoaringBatchIterator
-
-
方法详细资料
-
nextBatch
public int nextBatch(int[] buffer) 从接口复制的说明:BatchIteratorWrites the next batch of integers onto the buffer, and returns how many were written. Aims to fill the buffer.- 指定者:
nextBatch在接口中BatchIterator- 参数:
buffer- - the target to write onto- 返回:
- how many values were written during the call.
-
hasNext
public boolean hasNext()从接口复制的说明:BatchIteratorReturns true is there are more values to get.- 指定者:
hasNext在接口中BatchIterator- 返回:
- whether the iterator is exhaused or not.
-
advanceIfNeeded
public void advanceIfNeeded(int target) 从接口复制的说明:BatchIteratorIf needed, advance as long as the next value is smaller than minval The advanceIfNeeded method is used for performance reasons, to skip over unnecessary repeated calls to next. Suppose for example that you wish to compute the intersection between an ordered list of integers (e.g., int[] x = {1,4,5}) and a BatchIterator. You might do it as follows...
The benefit of calling advanceIfNeeded is that each such call can be much faster than repeated calls to "next". The underlying implementation can "skip" over some data.int[] buffer = new int[128]; BatchIterator j = // get an iterator int val = // first value from my other data structure j.advanceIfNeeded(val); while ( j.hasNext() ) { int limit = j.nextBatch(buffer); for (int i = 0; i < limit; i++) { if (buffer[i] == val) { // got it! // do something here val = // get next value? } } j.advanceIfNeeded(val); }- 指定者:
advanceIfNeeded在接口中BatchIterator- 参数:
target- threshold
-
clone
从接口复制的说明:BatchIteratorCreates a copy of the iterator.- 指定者:
clone在接口中BatchIterator- 覆盖:
clone在类中Object- 返回:
- a clone of the current iterator
-