Package org.apache.lucene.util.hnsw
Class FloatHeap
- java.lang.Object
-
- org.apache.lucene.util.hnsw.FloatHeap
-
public final class FloatHeap extends Object
A 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 FloatHeap(int maxSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()float[]getHeap()booleanoffer(float value)Inserts a value 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 boolean 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:
- whether the value was added (unless the heap is full, or the new value is less than the top value)
-
getHeap
public float[] getHeap()
-
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
-
clear
public void clear()
-
-