Package org.apache.lucene.util.hnsw
Class BlockingFloatHeap
- java.lang.Object
-
- org.apache.lucene.util.hnsw.BlockingFloatHeap
-
public final class BlockingFloatHeap extends Object
A blocking bounded min heap that stores floats. The top element is the lowest value of the heap.A primitive priority queue that maintains a partial ordering of its elements such that the least element can always be found in constant time. Implementation is based on
LongHeap- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
-
Constructor Summary
Constructors Constructor Description BlockingFloatHeap(int maxSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description floatoffer(float value)Inserts a value into this heap.floatoffer(float[] values)Inserts array of values into this heap.floatpeek()Retrieves, but does not remove, the head of this heap.floatpoll()Removes and returns the head of the heapintsize()Returns the number of elements in this heap.
-
-
-
Method Detail
-
offer
public float offer(float value)
Inserts a value into this heap.If the number of values would exceed the heap's maxSize, the least value is discarded
- Parameters:
value- the value to add- Returns:
- the new 'top' element in the queue.
-
offer
public float offer(float[] values)
Inserts array of values into this heap.Values must be sorted in ascending order.
- Parameters:
values- a set of values to insert, must be sorted in ascending order- Returns:
- the new 'top' element in the queue.
-
poll
public float poll()
Removes and returns the head of the heap- Returns:
- the head of the heap, the smallest value
- Throws:
IllegalStateException- if the heap is empty
-
peek
public float peek()
Retrieves, but does not remove, the head of this heap.- Returns:
- the head of the heap, the smallest value
-
size
public int size()
Returns the number of elements in this heap.- Returns:
- the number of elements in this heap
-
-