Package org.apache.lucene.util.hnsw
Class FloatHeap
java.lang.Object
org.apache.lucene.util.hnsw.FloatHeap
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 -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()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.
-
Constructor Details
-
FloatHeap
public FloatHeap(int maxSize)
-
-
Method Details
-
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()
-