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
    --- | --- | ---
    `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 Detail

    - #### FloatHeap

          public FloatHeap​(int maxSize)

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