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