Class DMatrixIterator

All Implemented Interfaces:

public class DMatrixIterator
extends Object
implements Iterator<Double>
This is a matrix iterator for traversing through a submatrix. For speed it is recommended that you directly access the elements in the matrix, but there are some situations where this can be a better design.
  • Constructor Details

    • DMatrixIterator

      public DMatrixIterator​(DMatrixD1 a, boolean rowMajor, int minRow, int minCol, int maxRow, int maxCol)
      Creates a new iterator for traversing through a submatrix inside this matrix. It can be traversed by row or by column. Range of elements is inclusive, e.g. minRow = 0 and maxRow = 1 will include rows 0 and 1. The iteration starts at (minRow,minCol) and ends at (maxRow,maxCol)
      a - the matrix it is iterating through
      rowMajor - true means it will traverse through the submatrix by row first, false by columns.
      minRow - first row it will start at.
      minCol - first column it will start at.
      maxRow - last row it will stop at.
      maxCol - last column it will stop at.
  • Method Details

    • hasNext

      public boolean hasNext()
      Specified by:
      hasNext in interface Iterator<Double>
    • next

      public Double next()
      Specified by:
      next in interface Iterator<Double>
    • remove

      public void remove()
      Specified by:
      remove in interface Iterator<Double>
    • getIndex

      public int getIndex()
      Which element in the submatrix was returned by next()
      Submatrix element's index.
    • isRowMajor

      public boolean isRowMajor()
      True if it is iterating through the matrix by rows and false if by columns.
      row major or column major
    • set

      public void set​(double value)
      Sets the value of the current element.
      value - The element's new value.