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

  Modifier and Type
  Method
  Description
  `void`
  `clear()`
  `float[]`
  `getHeap()`
  `boolean`
  `offer(float value)`
  Inserts a value into this heap.
  `float`
  `peek()`
  Retrieves, but does not remove, the head of this heap.
  `float`
  `poll()`
  Removes and returns the head of the heap
  `int`
  `size()`
  Returns the number of elements in this heap.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## 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()