Interface FloatGrid

All Superinterfaces:
BaseGrid<Float>, Iterable<Float>, Serializable
All Known Implementing Classes:
FloatArrayGrid

public interface FloatGrid extends BaseGrid<Float>
A specialized grid which uses the primitive type float.
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    float[]
    Returns an array containing every element within this grid.
    Returns a new grid whose values are populated from that of this grid's values, encapsulated inside a Float object.
    Returns a collection containing every element within this grid.
    int
    Returns the number of columns (the width) of this grid.
    boolean
    contains(float v)
    Checks if this grid contains the provided value v.
    boolean
    Checks if this grid contains multiple values.
    boolean
    Checks for equality between this grid and the provided object obj.
    void
    fill(float v)
    Fills this grid, populating every index with the provided value v.
    void
    fillRange(int r1, int c1, int r2, int c2, float v)
    Fills this grid, but only does so within the specified range.
    void
    Executes the provided action for each element of this grid.
    void
    forEach(Consumer<? super Float> a)
    Executes the provided action for each element of this grid.
    float
    get(int r, int c)
    Returns the element at the specified index.
    Returns an iterator of every element of this grid.
    Applies the provided mapper function f to every element of this grid, then returns a new grid whose values are populated from that of the provided function's return values.
    <F> Grid<F>
    mapToObj(FloatFunction<? extends F> f)
    Applies the provided mapper function f to every element of this grid, then returns a new grid whose values are populated from that of the provided function's return values.
    Between this grid and the provided grid g, this applies the merger function f for each corresponding pair of elements, then returns a new grid whose elements are populated from that of the return values of the merger function f.
    static FloatGrid
    of(float[][] values)
    Creates a new float grid from the provided two-dimensional array of values.
    void
    replaceAll(float oldValue, float newValue)
    Replaces all instances of the old value with the new value within this grid.
    resize(int rows, int columns)
    Returns a resized grid, whose elements are populated from that of this grid's elements.
    int
    Returns the number of rows (the height) of this grid.
    set()
    Returns a set containing every element of this grid.
    void
    set(int r, int c, float v)
    Sets the value of the specified index.
    void
    setRange(int r1, int c1, int r2, int c2, FloatGrid g)
    Sets a sub-grid of this grid, copying values from the provided sub-grid g.
    int
    Returns the size (the geometric area) of this grid.
    Returns a stream whose source is the elements of this grid.
    subGrid(int r1, int c1, int r2, int c2)
    Returns a sub-grid of this grid, whose values are populated from that of this grid's elements within the specified range.
    Serializes this grid into a string.
    Returns the transpose of this grid.
    void
    Applies the provided update function f to every element of this grid, assigning the return value of the function to the corresponding index of this grid.
    void
    update(TriFunction<? super Integer,? super Integer,? super Float,Float> f)
    Applies the provided update function f to every element of this grid, assigning the return value of the function to the corresponding index of this grid.

    Methods inherited from interface java.lang.Iterable

    spliterator
  • Method Details

    • of

      @Nonnull static FloatGrid of(@Nonnull float[][] values)
      Creates a new float grid from the provided two-dimensional array of values.
      Parameters:
      values - The values of which to contain in the grid
      Returns:
      A new grid containing the provided values
    • rows

      int rows()
      Returns the number of rows (the height) of this grid.
      Specified by:
      rows in interface BaseGrid<Float>
      Returns:
      The number of rows this grid has
    • columns

      int columns()
      Returns the number of columns (the width) of this grid.
      Specified by:
      columns in interface BaseGrid<Float>
      Returns:
      The number of columns this grid has
    • size

      int size()
      Returns the size (the geometric area) of this grid. In other words, this return the maximum capacity of this grid.
      Specified by:
      size in interface BaseGrid<Float>
      Returns:
      The number of element this gird can potentially hold
    • contains

      boolean contains(float v)
      Checks if this grid contains the provided value v.
      Parameters:
      v - The value of which to check for containment
      Returns:
      true if there is at least one element within this grid which is equal to that of the provided value v
    • containsAll

      boolean containsAll(@Nonnull Iterable<Float> i)
      Checks if this grid contains multiple values.
      Parameters:
      i - The iterable object of which to check for containment
      Returns:
      true if this grid contains every value of the iterable object
    • get

      float get(int r, int c) throws IndexOutOfBoundsException
      Returns the element at the specified index.
      Parameters:
      r - The index of the row to get
      c - The index of the column to get
      Returns:
      The element at the specified index
      Throws:
      IndexOutOfBoundsException - When the indices are out of bounds
    • set

      void set(int r, int c, float v) throws IndexOutOfBoundsException
      Sets the value of the specified index.
      Parameters:
      r - The index of the row to set
      c - The index of the column to set
      v - The value of which to assign to the specified index
      Throws:
      IndexOutOfBoundsException - When the indices are out of bounds
    • fill

      void fill(float v)
      Fills this grid, populating every index with the provided value v.
      Parameters:
      v - The value of which to fill this grid with
    • fillRange

      void fillRange(int r1, int c1, int r2, int c2, float v) throws IndexOutOfBoundsException
      Fills this grid, but only does so within the specified range.
      Parameters:
      r1 - The starting position's row index
      c1 - The starting position's column index
      r2 - The ending position's row index
      c2 - The ending position's column index
      v - The value of which to fill the specified range with
      Throws:
      IndexOutOfBoundsException - When the range is out of bounds
    • update

      void update(@Nonnull FloatUnaryOperator f)
      Applies the provided update function f to every element of this grid, assigning the return value of the function to the corresponding index of this grid.
      Parameters:
      f - The function of which to apply to each element of this grid
    • update

      void update(@Nonnull TriFunction<? super Integer,? super Integer,? super Float,Float> f)
      Applies the provided update function f to every element of this grid, assigning the return value of the function to the corresponding index of this grid. The row and column indices are provided as the first and second parameter of the function respectively, and the original element is provided as the third parameter of ths function.
      Parameters:
      f - The function of which to apply to each element of this grid
    • replaceAll

      void replaceAll(float oldValue, float newValue)
      Replaces all instances of the old value with the new value within this grid.
      Parameters:
      oldValue - The old value of which to replace
      newValue - The new value of which to replace to
    • subGrid

      @Nonnull FloatGrid subGrid(int r1, int c1, int r2, int c2) throws IndexOutOfBoundsException
      Returns a sub-grid of this grid, whose values are populated from that of this grid's elements within the specified range. This is not a direct reference to this grid, and changes in the sub-grid will not be reflected to the original grid.
      Parameters:
      r1 - The starting position's row index
      c1 - The starting position's column index
      r2 - The ending position's row index
      c2 - The ending position's column index
      Returns:
      The sub-grid of this grid corresponding to the specified range
      Throws:
      IndexOutOfBoundsException - When the range is out of bounds
    • setRange

      void setRange(int r1, int c1, int r2, int c2, @Nonnull FloatGrid g) throws IndexOutOfBoundsException
      Sets a sub-grid of this grid, copying values from the provided sub-grid g. This is not a direct reference to this grid, and changes in the sub-grid will not be reflected to the original grid.
      Parameters:
      r1 - The starting position's row index
      c1 - The starting position's column index
      r2 - The ending position's row index
      c2 - The ending position's column index
      g - The sub-grid of this grid containing the values to assign
      Throws:
      IndexOutOfBoundsException - When the range is out of bounds
    • resize

      @Nonnull FloatGrid resize(int rows, int columns)
      Returns a resized grid, whose elements are populated from that of this grid's elements. If the requested size is larger than that of this grid's size, the oversized portion will not be populated, leaving it uninitialized as null.
      Parameters:
      rows - The number of rows the resized grid should have
      columns - The number of columns the resized grid should have
      Returns:
      A new grid with the specified dimensions
    • transpose

      @Nonnull FloatGrid transpose()
      Returns the transpose of this grid. The transpose is a grid whose rows and columns are inverted from that os this grid's rows and columns. The elements are mapped according to the function f({r, c}) -> {c, r}, where r represents the row index, and c represents the column index. In simple terms, the rows and columns are inverted.
      Returns:
      The transpose of this grid
    • map

      @Nonnull FloatGrid map(@Nonnull FloatUnaryOperator f)
      Applies the provided mapper function f to every element of this grid, then returns a new grid whose values are populated from that of the provided function's return values.
      Parameters:
      f - The function of which to apply to each element of this grid
      Returns:
      The resulting grid
    • mapToObj

      @Nonnull <F> Grid<F> mapToObj(@Nonnull FloatFunction<? extends F> f)
      Applies the provided mapper function f to every element of this grid, then returns a new grid whose values are populated from that of the provided function's return values.
      Type Parameters:
      F - The type of element to map this grid to
      Parameters:
      f - The function of which to apply to each element of this grid
      Returns:
      The resulting grid
    • merge

      @Nonnull FloatGrid merge(@Nonnull FloatGrid g, @Nonnull FloatBinaryOperator f) throws IllegalArgumentException
      Between this grid and the provided grid g, this applies the merger function f for each corresponding pair of elements, then returns a new grid whose elements are populated from that of the return values of the merger function f.
      Parameters:
      g - The grid of which to merge this grid with
      f - The merger function to handle the merging of the two grids
      Returns:
      The resulting grid
      Throws:
      IllegalArgumentException - When the provided grid g's dimensions are different from that of this grid's dimensions
    • iterator

      @Nonnull Iterator<Float> iterator()
      Returns an iterator of every element of this grid.
      Specified by:
      iterator in interface BaseGrid<Float>
      Specified by:
      iterator in interface Iterable<Float>
      Returns:
      An iterator of every element of this grid
    • forEach

      void forEach(@Nonnull Consumer<? super Float> a)
      Executes the provided action for each element of this grid. The order of execution is not guaranteed to be consistent.
      Specified by:
      forEach in interface BaseGrid<Float>
      Specified by:
      forEach in interface Iterable<Float>
      Parameters:
      a - The action to be performed for each element
    • forEach

      void forEach(@Nonnull TriConsumer<Integer,Integer,? super Float> a)
      Executes the provided action for each element of this grid. The row and column indices are provided as the first and second parameter of the function respectively, and the current element is provided as the third parameter of the function. The order of execution is not guaranteed to be consistent.
      Specified by:
      forEach in interface BaseGrid<Float>
      Parameters:
      a - The action to be performed for each element
    • array

      @Nonnull float[] array()
      Returns an array containing every element within this grid. The length of the array is not guaranteed to be equal to the size of this grid, and the order is not guaranteed to be consistent.
      Returns:
      The array representation of this grid
    • stream

      @Nonnull Stream<Float> stream()
      Returns a stream whose source is the elements of this grid.
      Returns:
      A stream whose source is the elements of this grid
      See Also:
    • collect

      @Nonnull Collection<Float> collect()
      Returns a collection containing every element within this grid. The size of the collection is not guaranteed to be equal to the size of this grid, and the order is not guaranteed to be consistent, if there even is one.
      Specified by:
      collect in interface BaseGrid<Float>
      Returns:
      The collection representation of this grid
      See Also:
    • set

      @Nonnull Set<Float> set()
      Returns a set containing every element of this grid. Due to the nature of sets, every duplicate element will be counted as one element. This property can be useful for certain applications.
      Specified by:
      set in interface BaseGrid<Float>
      Returns:
      The set representation of this grid
      See Also:
    • boxed

      @Nonnull Grid<Float> boxed()
      Returns a new grid whose values are populated from that of this grid's values, encapsulated inside a Float object.
      Returns:
      The boxed grid representation of this grid
      See Also:
    • equals

      boolean equals(@Nullable Object obj)
      Checks for equality between this grid and the provided object obj.
      Overrides:
      equals in class Object
      Parameters:
      obj - The object to compare to
      Returns:
      true if the object is also a float grid, and the dimensions, order of elements, and the elements' values are all equal
    • toString

      @Nonnull String toString()
      Serializes this grid into a string.
      Overrides:
      toString in class Object
      Returns:
      The string representation of this grid